当前位置:首页 > 内存 > 正文

top按照内存占用排序

  • 内存
  • 2024-05-30 04:30:29
  • 7648

一、常用命令之TOP

Android中的TOP命令用于显示当前CPU负载、内存使用情况、进程信息等。

第一行,进程信息:

系统现在共有668个进程,其中1个正在运行,665个正在休眠,0个处于停止状态。其中2个处于僵尸状态(zombie)。

第二行,内存信息:

总物理内存:3.5G

已使用内存:3.1G

非活动内存:466MB

缓存内存:96MB

第三行,交换分区,主要AndroidZRAM:

交换分区总大小:2G

已用交换区:455M

空闲交换区总量:1.5G

缓冲交换区:1.4G

第四行,处理器状态信息:

800%cpu

5%user-用户进程占用CPU的百分比

0%nice-优先级值为负CPU的进程time占用

7%sys-系统进程占用CPU百分比

788%idle-空闲CPU百分比

1%iow-IO等待时间

0%中断时间irq-hard

0%时间中断sirq-soft

0%host-

第五行,各进程状态监控:

PID–进程标识符

USER–进程所有者

PR–进程优先级

NI–有趣的值。负值表示高优先级,正值表示低优先级。

VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES

RES:进程使用的虚拟内存总量。进程已使用和未使用的虚拟内存总量。交换的物理内存大小,RES=CODE+DATA

SHR——共享内存大小

S——进程状态。D=不间断睡眠状态R=运行S=睡眠T=监控/停止Z=僵尸进程

%CPU:自上次更新以来占用的CPU时间百分比

%MEM–进程使用的物理内存百分比

TIME+:进程使用的总CPU时间,单位1/100秒

ARGS–进程名称(命令名称/命令行)


二、linux内存使用大小排序可以直接输入top
,然后按P–按CPU使用情况对进程列表进行排序
按M–按内存使用情况对进程列表进行排序
另外,检查某个应用内存大小的使用情况
方法一:通过进程号查看
#例如查看kafka资源使用情况
#查看kafka进程号
ps-ef|grepkafka
#查看进程号占用资源(159156为ps获取的进程号)
top-p159156
#或者查看进程的状态文件(159156为ps获取的进程号)。VmRSS对应的值为物理内存使用情况
cat/proc/159156/status
方法二:ps命令直接使用任务名称
#显示的第六个参数为物理内存使用情况
ps-aux|grepkafka
#查看占用内存前10的程序
psaux|sort-k4,4nr|head-n10
3)回收free查看到的buff/cache-h
#除了在内存耗尽时清除缓存之外,我们还可以通过以下文件来手动触发缓存清除操作
cat/proc/sys/vm/drop_caches
#该文件中可以设置的值分别是1、2、3。它们的意思是:
#表示清除页面缓存。
echo1>/proc/sys/vm/drop_caches
#表示清除和回收slab分配器中的对象(包括目录项缓存和inode缓存)。lab分配器是内核中管理内存的机制,许多缓存数据实现都使用pagecache。
echo2>/proc/sys/vm/drop_caches
#表示清除pagecache和slab分配器中的缓存对象。
echo3>/proc/sys/vm/drop_caches