linux 查看内存排行并进行计算
Linux 命令:ps -aux | sort -k6nr | head -n 100 | awk '{sum+=$6} END {print sum}'解释:使用ps 将进程列出,并使用sort 进行排序,-k 指定排序的位置,这里是第6个域,nr 是按照数值大小反向排序,后面的head是对100个进行计算, 最后使用awk 进行处理,对第六列的值进行相加,最后统一输出,得到前100个程序的内存
·
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
更多推荐
已为社区贡献1条内容
所有评论(0)