一、 ps -ef|grep flink 和 top -p pid 组合

Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如:ps -ef|grep flink,可以看到flink task这个程序的进程id

已知pid是8678,现在可以使用如下命令查看内存:

这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行

二、直接命令查看 ps -aux|grep flink

第一个标注的地方是CPU和内存占用率,后面的15 209 056是物理内存使用量,单位是k,此时kafka大约占用15G内存

1)USER: 行程拥有者
2)PID: 进程的ID
3)%CPU: 占用的 CPU 使用率
4)%MEM: 占用的记忆体使用率
5)VSZ: 占用的虚拟记忆体大小
6)RSS: 占用的记忆体大小
7)TTY: 终端的次要装置号码 (minor device number of tty)
8)STAT: 该行程的状态:
        D: 不可中断的静止
        R: 正在执行中
        S: 静止状态
        T: 暂停执行
        Z: 不存在但暂时无法消除
        W: 没有足够的记忆体分页可分配
        <: 高优先序的行程
        N: 低优先序的行程
        L: 有记忆体分页分配并锁在记忆体内
9)START: 行程开始时间
10)TIME: 执行的时间
11)COMMAND:所执行的指令

ps aux|sort -k4,4nr|head -n 10 查看内存占用前10名的程序

三、查看进程文件cat /proc/pid/status

比如:cat /proc/8678/status

VmSize对应的值就是物理内存占用,大约为943M和刚才一致

在这里我们关注VmSize|VmRSS|VmData|VmStk|VmExe|VmLib 这个6个指标,下面有一些简单的解释。

  1. VmSize:  虚拟内存大小。 整个进程使用虚拟内存大小,是VmLib, VmExe, VmData, 和 VmStk的总和。占所有虚拟内存分配(文件映射,共享内存,堆内存,任何内存)的份额,并且几乎在每次分配新内存时都会增长。几乎,因为如果在数据段中用新的堆内存分配代替了释放的旧分配,则不会分配新的虚拟内存。每当释放虚拟分配时,它都会减少。VmPeak跟踪的最大值VmSize-只能随时间增加。
  2. VmLck:  虚拟内存锁。进程当前使用的并且加锁的虚拟内存总数
  3. VmRSS:  虚拟内存驻留集合大小。这是驻留在物理内存的一部分。它没有交换到硬盘。它包括代码,数据和栈。随着访问内存的增加而增加,随着将页面调出到交换设备的次数减少。
  4. VmData:  虚拟内存数据。堆使用的虚拟内存。随着使用堆的数据段部分而增长。由于当前的堆分配器会保留释放的内存,以防将来的分配需要它,它几乎永远不会收缩。
  5. VmStk: 虚拟内存栈。栈使用的虚拟内存
  6. VmExe: 可执行的虚拟内存,可执行的和静态链接库所使用的虚拟内存
  7. VmLib: 虚拟内存库,动态链接库所使用的虚拟内存

补充:

  1. VmPeak代表当前进程运行过程中占用内存的峰值.
  2. VmSize代表虚拟内存总大小
  3. VmLck代表进程已经锁住的物理内存的大小.锁住的物理内存不能交换到硬盘.
  4. VmHWM是程序得到分配到物理内存的峰值.
  5. VmRSS是程序现在使用的物理内存.
  6. VmData:表示进程数据段的大小.
  7. VmStk:表示进程堆栈段的大小.
  8. VmExe:表示进程代码的大小.
  9. VmLib:表示进程所使用LIB库的大小.
  10. VmPTE:占用的页表的大小.
  11. VmSwap:进程占用Swap的大小.
  12. Threads:表示当前进程组的线程数量.
  13. SigPnd:屏蔽位,存储了该线程的待处理信号,等同于线程的PENDING信号.
  14. ShnPnd:屏蔽位,存储了该线程组的待处理信号.等同于进程组的PENDING信号.
  15. SigBlk:存放被阻塞的信号,等同于BLOCKED信号.
  16. SigIgn:存放被忽略的信号,等同于IGNORED信号.
  17. SigCgt:存放捕获的信号,等同于CAUGHT信号.
  18. CapEff:当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效,而不再是检查进程的有效UID是否为0.
  19. CapPrm:表示进程能够使用的能力,在cap_permitted中可以包含cap_effective中没有的能力,这些能力是被进程自己临时放弃的,也可以说cap_effective是cap_permitted的一个子集.
  20. CapInh:表示能够被当前进程执行的程序继承的能力.
  21. CapBnd:是系统的边界能力,我们无法改变它.
  22. Cpus_allowed:3指出该进程可以使用CPU的亲和性掩码,因为我们指定为两块CPU,所以这里就是3,如果该进程指定为4个CPU(如果有话),这里就是F(1111).
  23. Cpus_allowed_list:0-1指出该进程可以使用CPU的列表,这里是0-1.
  24. voluntary_ctxt_switches表示进程主动切换的次数.
  25. nonvoluntary_ctxt_switches表示进程被动切换的次数.

Linux下查看某一进程占用的内存相关推荐

  1. Linux下查看某一进程所占用内存的方法 -- from cnblogser 小得盈满

    Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef | grep kafka 可以看到kafka这个程序的进程id 可以看到是2913,现在可以使用如下命令查 ...

  2. Linux下查看在运行进程的命令

    ps命令 输入下面的ps命令,显示所有运行中的进程: # ps aux | less 按q退出: 其中, -A:显示所有进程 a:显示终端中包括其它用户的所有进程 x:显示无控制终端的进程 任务:查看 ...

  3. linux查询内存条个数,linux下查看内存条数及每根内存大小的实现方法(推荐)

    在linux系统中,查看内存条个数,及每根内存的大小,可以使用dmidecode命令. 如下: #dmidecode | grep -A16 "Memory Device$" 输出 ...

  4. Linux 查看某一个进程占用内存情况

    Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef | grep kafka 可以看到kafka这个程序的进程id 可以看到是2913,现在可以使用如下命令查 ...

  5. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  6. linux查看进程占句柄,linux下查看系统进程占用的句柄数方法

    linux下查看系统进程占用的句柄数方法 ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk ' ...

  7. linux查看某进程的连接,linux下查看指定进程的所有连接信息(转)

    定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...

  8. linux下查看进程的线程数,linux查看进程的线程数

    top -H -p $PID  #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...

  9. 查看linux进程的设备io,Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

最新文章

  1. 双十一,程序员前女友发来消息。。。
  2. android 找不到符号 符号 RequiresApi
  3. Halcon算子学习:sample_object_model_3d
  4. 图像傅里叶变换的频率怎么理解?【转载】
  5. MYsql数据库误删mysql下的user内容,导致哪哪都不能登录
  6. 卷积神经网络 第三周作业:Residual+Networks+-+v1
  7. 联通沃云服务器型号,云服务器
  8. Anaconda 在线安装第三方库jieba
  9. python黑色背景rbg_使用python PIL将RGB图像转换为纯黑白图像
  10. 小猫咪,Naughty baby
  11. FIsh论坛《零基础入门学习Python》| 第012讲 课后测试题及答案
  12. 计算机名称位数怎么改,请问下怎样更改电脑位数
  13. 【路在脚下】----成长的感觉
  14. checksum命令 linux_Linux命令大全完整版
  15. 当今世界最NB的25位大数据科学家
  16. 图解海康威视摄像头和硬盘录像机的网络连接与端口映射
  17. 完全卸载Android Studio的方法
  18. 深度学习系列24:开源抠图算法
  19. 畅游电驴/电骡(emule) 1.0 发布-下载网络资源的利器
  20. 华工的计算机专业硕士就业前景,这所热门地区的985就业率排名第一!不想了解下吗?...

热门文章

  1. Arduino网络编程实战-ADC数据可视化(仪表)
  2. 网站优化长尾词怎么做排名优化
  3. 简单聊一聊 Android App Bundle 的话题
  4. Spring AOP 同类调用失效问题及解决方案
  5. 15岁极客王逸翛:希望大家都有“开源精神”
  6. cron表达式解析 + robfig/cron 源码剖析
  7. Javaweb 聊天室
  8. 绝对值不等式的常见形式及解法
  9. 张艾迪(创始人):工作的时候
  10. 百度砸金22亿背后,要打造一个“万亿”市值的“新”YY直播?