做了个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个进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)