当要关心Linux上的内存水平

在Linux系统中的内存管理是复杂的。眼看高使用率并不一定意味着有问题。还有其他的事情你也应该考虑。

在Linux系统上耗尽内存通常是一种情况一个迹象,表明有一个严重的问题。为什么?因为一个健康的Linux系统会在内存中缓存的磁盘活动,基本上吞噬内存不被使用,这是一件非常好的事情。

换句话说,它不允许的内存去浪费。它采用备用内存来提高磁盘的存取速度,而它这样做从运行的应用程序采取的内存了。此内存缓存,你可能想像,是几百倍直接与硬盘驱动器(HDD)和比固态硬盘速度显著工作快。完全或接近完全的内存通常是指系统尽可能有效,因为它可以运行 - 不,它遇到了问题。

如何缓存的工作

磁盘缓存仅仅意味着系统正在利用未使用的资源(空闲内存)来加速磁盘读写。应用程序不会丢失任何东西,而且大多数情况下,只要需要,就可以获得更多的内存。此外,磁盘缓存不会导致应用程序使用交换。相反,用于磁盘缓存的内存总是在需要时立即返回并更新磁盘内容。

主要和次要页面错误

Linux系统通过将物理内存分成称为“页面”的块,然后将这些页面映射到进程虚拟内存,从而将内存分配给进程。看起来不再使用的页面可能会从内存中删除—即使相关的进程仍然在运行。当一个进程需要一个不再映射或不再在内存中的页面时,就会生成一个错误。因此,“fault”不是“error”的意思,而是“不可用”的意思,而fault在内存管理中扮演着重要的角色。

一个小错误意味着页面在内存中,但是没有分配给请求进程,或者没有标记为存在于内存管理单元中。一个主要的错误意味着页面不再在内存中。

如果你想获得的主要和次要页面错误发生多久的感觉,尝试PS命令赞一个。请注意,我们要求对相关页面错误和命令字段中列出。众多线被从输出删去。该MINFL显示轻微故障的数量,同时MAJFL代表重大故障的数量。

$ PS -eo min_flt,maj_flt,在cmd MINFL MAJFL CMD 230760 150 / usr / lib中/ systemd / systemd --switched根--system --deserialize 18 0 0 [kthreadd] 0 0 [rcu_gp] 0 0 [rcu_par_gp] 00 [kworker / 0:0H-kblockd] ... 166 20 GPG-剂--homedir的/ var / lib中/ fwupd / gnupg的--use标准插座--daemon 525 1的/ usr /的libexec / gvfsd-垃圾 --spawner:1.16 /组织/ GTK / GVFS / exec_spaw / 0 4966 4 / USR /的libexec /侏儒端 - 服务器3617 0的bash 0 0 [kworker / 1:0H-kblockd] 927 0 GDM-会话工人[PAM /GDM-密码]

要在一个单一的过程报告,你可以尝试这样的命令:

$ PS -o min_flt,maj_flt 1 MINFL MAJFL 230064 150

您还可以添加其他字段,如进程所有者的UID和GID。

$ PS -o min_flt,maj_flt,CMD,指定参数时,UID,GID 1 MINFL MAJFL CMD COMMAND UID GID 230064 150 / usr / lib中/ systemd / systemd  -  / usr / lib中/ systemd / systemd  -  0 0

如何全满了?

一个更好地处理内存如何使用的方法是使用免费-m命令。该- m选项以mebibytes (MiBs)而不是字节报告数字。

$ free -m总使用免费共享buff/cache可用Mem: 3244 3069 35 49 140 667交换:3535 0 3535

需要注意的是“自由”(未使用)内存可以运行低,而“可”(可用于启动新的应用程序)可能会报告一个更大的数字。这两个领域之间的区别是非常值得关注。可供利用的手段,它可以被回收并在需要时使用,而免费意味着它现在是可用的。

当担心

如果Linux系统上的性能看起来很好—应用程序响应良好,命令行没有问题的迹象—那么很可能系统处于良好状态。请记住,某些应用程序可能因为某些原因而减慢速度,但这并不影响整个系统。

硬故障数量过多确实可能表明一个问题,但观察到的性能平衡这一点。

一个好的经验法则是,当可用内存接近于0时,或者当“swap used”字段增长或出现明显波动时,都要考虑。不要担心“可用”的数字是总可用内存的一个合理的百分比,因为它是在上面的例子中重复这里:

$ free -m总使用免费共享buff/cache可用Mem: 3244 3069 35 49 140 667交换:3535 0 3535

Linux性能复杂

除此之外,Linux系统上的内存可能会满,性能可能会下降。只是不要把一份内存使用报告当作系统有问题的迹象。

在Linux系统上的内存管理,是因为采取措施,确保系统资源的最佳利用的措施复杂。不要让完全内存的初始外观欺骗您认为您的系统遇到麻烦时,它不是。

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。

版权所有©2019Raybet2

IT薪资调查:结果是