怎样正确查看Linux的内存占用情况

怎样正确查看Linux的内存占用情况,第1张

做了个24小时的稳定性测试,探讨了Linux的Mem使用情况:

内存最方便的命令是free -m,如:

[root@host ~]# free -m

total used free shared buffers cached

Mem: 1024 1005 19 0 9 782

-/+ buffers/cache: 212 811

Swap: 996 0 995

[root@host ~]#

从上看出这个Linux系统一共有内存1024M,但当前Linux 系统已经占用的内存有多少呢?大多数用户的答案是1005M,其实不然。

当前VPS占用的内存应该是212M,也就是1005下面那个数字:212,代表已经占用的内存。后面的那个811,代表当前Linux系统的可用内存。

"-/+ buffers/cache:"开头的这行才是实际的占用内存和可用内存。

所以,看内存使用情况,应该看"-/+ buffers/cache:"开头的这一行,如果这一行最后的数字接近0,那么说明Linux系统的内存快用完了,这时候Linux系统反应就比较慢。如果这个数字还比较大,那么Linux系统还有较多内存可用,系统不应该慢。

可以用TOP工具查看实时状态。

top进入视图:

第一行:

10:01:23 当前系统时间

126 days, 14:29 系统已经运行了126天14小时29分钟(在这期间没有重启过)

2 users 当前有2个用户登录系统

load average: 115, 142, 144 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 

第二行:

Tasks 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。 

第三行:cpu状态

67% us 用户空间占用CPU的百分比。

04% sy 内核空间占用CPU的百分比。

00% ni 改变过优先级的进程占用CPU的百分比

929% id 空闲CPU百分比

00% wa IO等待占用CPU的百分比

00% hi 硬中断(Hardware IRQ)占用CPU的百分比

00% si 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态

8306544k total 物理内存总量(8GB)

7775876k used 使用中的内存总量(77GB)

530668k free 空闲内存总量(530M)

79236k buffers 缓存的内存量 (79M) 

第五行:swap交换分区

2031608k total 交换区总量(2GB)

2556k used 使用的交换区总量(25M)

2029052k free 空闲交换区总量(2GB)

4231276k cached 缓冲的交换区总量(4GB)

linux查看占用的CPU内存资源最多linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|headlinux下获取占用内存资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head命令组合解析(针对CPU的,MEN也同样道理):ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head该命令组合实际上是下面两句命令:ps aux|head -1 ps aux|grep -v PID|sort -rn -k +3|head

那么如何按占用内存大小查看Linux下的进程呢?

ps

常用参数

-A 所有进程均显示出来

-a 不与terminal有关的所有进程

-u 有效使用者相关的进程

-x 通常与a一起用,可列出较完整信息

按内存大小排序

ps -aux默认是按PID从小到大显示的,若想按占用内存大小排序则需要借助另外sort命令针对第4列(内存所在列)排序:

ps -aux | sort -k4rn

如果我们只想看前n个进程, 还可以借助head命令,比如查看前10个占用内存最大的进程:

ps -aux | sort -k4rn | head -n 10

我们还可以借助awk来指定显示哪几列信息:

ps -aux |awk '{print $2, $4, $11}' | sort -k2rn | head -n 10

注意:我们先用awk指定了要显示的列, 这时sort的参数也要变化了

top

常用参数

-d: 后面加数字指定数据刷新的频率, 预设是5秒

-p: 指定某些个pid进行观察

top执行过程中可使用的按键命令

: 显示top中可以输入的按键命令

P: 以cpu使用率排序显示

M: 以内存使用率排序显示

N: 以PID排序显示

以上就是关于怎样正确查看Linux的内存占用情况全部的内容,包括:怎样正确查看Linux的内存占用情况、如何查看当前Linux系统的状态,如CPU使用,内存使用,负载情况等.、Linux 如何查看当前占用CPU或内存最多的K个进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存