服务器运行越来越慢怎么办?

服务器运行越来越慢怎么办?,第1张

1、硬件性能不足,检查服务器的配置,如果您服务器配置一直没有升级,而程序的占用一直在加,是要可能导致服务器运行速度变慢
2、系统方面检查,杀一下毒,看服务器是否有中毒没有
3、重启一下服务器,服务器长时间运行,里面占用资源越来越多,您可以重启一下清除一下缓存压力
4、带宽方面,可以检查一下目前服务器所接入的带宽,再对比一下服务器平常使用的带宽情况,如果是带宽不足导致,升级一下带宽就可以解决

当然有影响。2G的内存什么时候打开资源管理器,都会看到内存使用16G,17G的样子,一般人都认为还没到2呀内存够用。但是当再插一个2G内存条进去,打开相同多的应用,发现内存竟然使用到23G,24G了,这种情况在以前2G的情况下,应该直接占满内存的,但事实是 *** 作系统是不会让你占满内存的,也就是说内存使用率100%这种情况一般是不会出现的。因为有 *** 作系统资源的调度,所以在内存作为瓶颈的时候,单单从资源管理器是看不出来的电脑真实的内存需求的。只有当内存不是瓶颈的时候,才能知道系统需要的内存到底是多少。 最简单的例子开两个大程序,打开程序的速度,程序切换运行的速度,在2G和4G内存下会有明显差别。

个人认为:
程序运行快慢主要取决于它所占用的资源:CPU(毫无疑问),内存(任何程序都会占用一定的内存),显卡(玩游戏显卡不能太烂),网速(网游等网络程序有影响)等。当然也不能排除程序自身就有BUG。
在其他的环境相当的情况下,说说CPU和内存。
把CPU放在前面,是因为我认为CPU确实占据主导地位,因为它就是计算机的核心,直接关系到每秒钟能执行的指令数。
当然内存也是不可或缺的。
内存有两个方面需要考虑:速度和大小。内存的大小在符合所安装的 *** 作系统的最低配置的条件不是关键因素。因为程序会占用几K到几百兆的物理空间(大型游戏),但这算不了什么,还有虚存,不然买一个也很便宜。相比之下,内存的速度更重要一些,但也只是针对内存自身来说。一般情况下内存频率都是和CPU的外频匹配工作的,内存频率再高也会受制于CPU。
回到lz的问题:
我是这样理解的。
打开有很多的文件夹时,系统需要检索目录下的所有文件并显示这些的缩略图,但慢不是因为缩略图占据了很多内存空间。而是需要在短时间内生成并显示大量的缩略图占用了很多CPU,可能还有其他的一些因素。请高手们不吝赐教。
这种情况我刚就体验过,一般情况下CPU是个位数,打开我的收藏,CPU飙至100%一段时间后下降,而内存只有几M的变化。CPU是AMD SP2800+。。。

在Windows中,资源管理器查看内存使用情况,如果使用率达到80%以上,那么运行大型程序就会觉得系统不顺畅,因为在内存短缺的情况下使用交换分区,频繁的从磁盘交换页面会大大影响系统性能。而在使用Linux系统时,我们使用free命令查看Linux系统内存使用情况时,会发现内存使用率一直处于较高水平,即使此时系统没有运行很多软件。这是Windows和Linux在内存管理方面的区别。这样看来,Linux系统占用了我们的内存(Linux占用了我的RAM),但这也是其内存管理的特点。

free命令介绍

为了使用自由命令查看我们的实验室文件服务器内存的结果,-M选项表示MB为单位:

第二行输出表示系统内存的使用。

注:前四个术语更好地理解。缓冲区和缓存无法找到正确的单词进行翻译。它们之间的区别在于:

A buffer is something that has yet to be “written” to diskA cache is something that has been “read” from the disk and stored for later use

即buffer用于存放要输出到磁盘的数据,而cache是从磁盘读出存放到内存中待今后使用的数据。它们的引入均是为了提供IO的性能。

以上输出的结果可能是第三行,为什么要向用户显示呢?内存使用减去系统缓冲/缓存的内存表示是什么?系统空闲内存添加到缓冲区/缓存的内存中的是什么?

内存的分类

我们将内存分为三类,对于用户和 *** 作系统的使用有不同的术语:

上表中something代表的正是free命令中”buffers/cached”的内存。由于这个内存实际上是从 *** 作系统的角度使用的,所以如果用户想要使用它,那么它可以被用户的程序快速地回收和使用,因此应该从用户的角度将内存划为空闲。

再次返回free命令输出的结果,第三行输出的结果应该是可以理解的,并且该行上的数字从用户的角度表示系统内存的使用。因此,如果使用top或free命令查看系统中还剩下多少内存,那么实际上应该将空闲内存添加到buffer/cached,即实际的系统空闲内存。

buffers/cached好处

Linux内存管理已经做了很多精心的设计,除了dentry缓存之外(对于VFS,为了加快文件路径名到inode的转换),还采用了两种主要的缓存方法:缓冲缓存和页面缓存,目的是提高磁盘IO的性能。从低速块设备读取数据暂时存储在存储器中。即使此时不再需要数据,也可以在下一次应用程序访问数据时直接从存储器读取数据,从而绕过低速块设备,从而提高系统的整体性能。

Linux将充分利用免费内存。在我看来,如果内存是免费的,最好缓存更多的数据。下次程序再次访问数据时,速度会更快。如果程序希望使用内存,并且系统中的内存不足时,那么它不会使用交换分区,而是快速恢复部分缓存,把它们留给用户程序。

因此,正如您所看到的,buffers/cached实际上还是有点用处,而真正的缺点可能是用户认为Linux消耗内存!然而,Linux不会耗尽您的内存,只要您没有使用交换分区,您就应该庆幸您的内存耗尽了,因为Linux会缓存大量数据,也许下次您会从中受益!

实验证明

通过实验验证了以下结论。

我们读了一份大文件,比较两种阅读的实践:

1首先,生成一个大的1G文件:

2空缓存:

3读取此文件并测试所消耗的时间:

4再次读取文件并测试所消耗的时间:

从上面可以看到,第一次读取这个1G文件需要大约18秒,第二次读取只需03秒,增加了60倍!那么你觉得Linux系统还是吃内存吗?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13304581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-11
下一篇 2023-07-11

发表评论

登录后才能评论

评论列表(0条)

保存