linux 查看内存排行并进行计算

版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载,加上原文链接即可~~ https://blog.csdn.net/hpulfc/article/details/79959832

Linux 命令:

ps -aux | sort -k6nr | head -n 100 | awk '{sum+=$6} END {print sum}'

解释:使用ps 将进程列出,并使用sort 进行排序,-k 指定排序的位置,这里是第6个域,nr 是按照数值大小反向排序,

后面的head是对100个进行计算, 最后使用awk 进行处理,对第六列的值进行相加,最后统一输出,得到前100个程序的内存使用量

一般常用的是free

free -m
             total       used       free     shared    buffers     cached
Mem:          7970       7803        167          0         28       2194
-/+ buffers/cache:       5580       2390
Swap:          511        487         24

解释: free 是对内存进行统计查看的命令,-m参数,是转换位以M为单位,

上面各个字段分别表示:

        total: 总物理内存           used: 已使用的物理内存(通常指程序使用的内存)        shared:(各个程序共享内存)        

        buffer: 只缓存,主要是目录方面    cached:系统缓存,打开文件的数量有关,主要用于提高文件读写速度

        说明:其中used使用的内存是包括cached的,也就是说程序真实使用的内存是used - cached,在需要的时候,cached 就会自动释放,变为可用。

更加详细的内存使用,linux命令:

$cat /proc/meminfo
MemTotal:        8162240 kB
MemFree:          169352 kB
MemAvailable:    2489860 kB
Buffers:           31932 kB
Cached:          2235540 kB
SwapCached:         3516 kB
Active:          5588576 kB
Inactive:        2106312 kB
Active(anon):    5401856 kB
Inactive(anon):    25620 kB
Active(file):     186720 kB
Inactive(file):  2080692 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        524284 kB
SwapFree:          25572 kB
Dirty:               296 kB
Writeback:             0 kB
AnonPages:       5424008 kB
Mapped:            39836 kB
Shmem:                16 kB
Slab:             187364 kB
SReclaimable:     155748 kB
SUnreclaim:        31616 kB
KernelStack:        8352 kB
PageTables:        27088 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4605404 kB
Committed_AS:    7188828 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
DirectMap4k:       16248 kB
DirectMap2M:     3129344 kB
DirectMap1G:     7340032 kB

阅读更多

扫码向博主提问

hpulfc

非学,无以致疑;非问,无以广识
去开通我的Chat快问

没有更多推荐了,返回首页