linux内存使用大小排序
发布网友
发布时间:2022-04-19 13:03
我来回答
共1个回答
热心网友
时间:2022-05-04 16:55
可以直接输入top
然后 按P – 以 CPU 占用率大小的顺序排列进程列表
按M – 以内存占用率大小的顺序排列进程列表
另外,查看某一应用占用内存大小
方法一:通过进程号查看
# 例如查看kafka资源使用情况
# 查看kafka进程号
ps -ef | grep kafka
# 查看进程号占用资源(159156为ps得到的进程号)
top -p 159156
# 或者查看进程的status文件(159156为ps得到的进程号) ,VmRSS对应的值就是物理内存占用
cat /proc/159156/status
方法2:ps命令直接使用任务名
# 显示的第六个参数就是物理内存占用
ps -aux | grep kafka
# 查看内存占用前10名的程序
ps aux | sort -k4,4nr | head -n 10
3)对free -h 查看到的buff/cache 进行回收
# 在系统中除了内存将被耗尽的时候可以清缓存以外,我们还可以使用下面这个文件来人工触发缓存清除的操作
cat /proc/sys/vm/drop_caches
# 这个文件可以设置的值分别为1、2、3。它们所表示的含义为:
# 表示清除 page cache。
echo 1 > /proc/sys/vm/drop_caches
# 表示清除回收 slab 分配器中的对象(包括目录项缓存和 inode 缓存)。slab 分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的 page cache。
echo 2 > /proc/sys/vm/drop_caches
# 表示清除 page cache 和 slab 分配器中的缓存对象。
echo 3 > /proc/sys/vm/drop_caches