如何看Linux哪些进程占内存,linux 查看进程占用内存
1.top
top -b -n 1 |grep opera|awk '{print "cpu:"$9"%","mem:"$10"%"}'
cpu:0.0% mem:26.4%
2. ps -aux
其中:
RSS-------------进程实际占用物理内存大小;
VSZ--------------任务虚拟地址空间的大小
3./proc/pid/status
[root@localhost ~]# cat /proc/self/status
Name: cat
State: R (running)
SleepAVG: 88%
Tgid: 5783
Pid: 5783
PPid: 5742
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups: 0 1 2 3 4 6 10
VmSize: 6588 kB
VmLck: 0 kB
VmRSS: 400 kB
VmData: 144 kB
VmStk: 2040 kB
VmExe: 14 kB
VmLib: 1250 kB
StaBrk: 0804e000 kB
Brk: 088df000 kB
StaStk: bfe03270 kB
ExecLim: 0804c000
Threads: 1
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
输出解释
参数 解释
Name 应用程序或命令的名字
State 任务的状态,运行/睡眠/僵死/
SleepAVG 任务的平均等待时间(以nanosecond为单位),交互式任务因为休眠次数多、时间长,它们的 sleep_avg
也会相应地更大一些,所以计算出来的优先级也会相应高一些。
Tgid 线程组号
Pid 任务ID
Ppid 父进程ID
TracerPid 接收跟踪该进程信息的进程的ID号
Uid Uid euid suid fsuid
Gid Gid egid sgid fsgid
FDSize 文件描述符的最大个数,file->fds
Groups
VmSize(KB) 任务虚拟地址空间的大小
(total_vm-reserved_vm),其中total_vm为进程的地址空间的大小,reserved_vm:进程在预留或特殊的内存间的物理页
VmLck(KB) 任务已经锁住的物理内存的大小。锁住的物理内存不能交换到硬盘 (locked_vm)
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)
VmData(KB) 程序数据段的大小(所占虚拟内存的大小),存放初始化了的数据;
(total_vm-shared_vm-stack_vm)
VmStk(KB) 任务在用户态的栈的大小 (stack_vm)
VmExe(KB) 程序所拥有的可执行虚拟内存的大小,代码段,不包括任务使用的库 (end_code-start_code)
VmLib(KB) 被映像到任务的虚拟内存空间的库的大小 (exec_lib)
VmPTE 该进程的所有页表的大小,单位:kb
Threads 共享使用该信号描述符的任务的个数,在POSIX多线程序应用程序中,线程组中的所有线程使用同一个信号描述符。
SigQ 待处理信号的个数
SigPnd 屏蔽位,存储了该线程的待处理信号
ShdPnd 屏蔽位,存储了该线程组的待处理信号
SigBlk 存放被阻塞的信号
SigIgn 存放被忽略的信号
SigCgt 存放被俘获到的信号
CapInh Inheritable,能被当前进程执行的程序的继承的能力
CapPrm
Permitted,进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的,CapEff是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性
CapEff Effective,进程的有效能力
范例 1
可以看出该应用程序的正文段(1KB)很小,说明代码很少,是依靠库(1251KB)来执行。栈(138KB)适中,说明 没有太多许多嵌套函数或特别多的临时变量。VmLck为0说明进程没有锁住任何页。VmRSS表示当前进程使用的物理内存为2956KB。当进程开始使用 已经申请的但还没有用的内存时,VmRSS的值开始增大,但是VmSize保持不变。
[root@localhost 1]# cat /proc/4668/status
Name: gam_server
State: S (sleeping)
SleepAVG: 88%
Tgid: 31999
Pid: 31999
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups: 0 1 2 3 4 6 10
VmSize: 2136 kB
VmLck: 0 kB
VmRSS: 920 kB
VmData: 148 kB
VmStk: 88 kB
VmExe: 44 kB
VmLib: 1820 kB
VmPTE: 20 kB
Threads: 1
SigQ: 1/2047
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001006
SigCgt: 0000000210000800
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
[root@localhost 31999]#4 /proc//statm
包含了所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。
[root@localhost ~]# cat /proc/self/statm
654 57 44 0 0 334 0
以下是我自己的理解:
从上面可以看出VmRSS才是我们最关心的内存大小,即
正在使用的物理内存的大小;
而VmSize是进程所拥有的虚拟空间的大小;
“当进程开始使用 已经申请的但还没有用的内存时,
VmRSS的值开始增大,但是VmSize保持不变。”
我们之所以看到许多内存的值的大小超过了内存的总的大小
是因为这里显示的都是虚拟内存的大小,而不是实际的占用的大小;
这是其它的地方的解释
From cat /proc/4743/statm611450 185001 883 18 0 593431 0
1. size :- total program size (611450 X 4096/1024 = 2445800kB = 2388M)2. resident :- resident set size (185001 X 4096/1024 = 740004kB = 722M)
3. share :- shared pages (883 X 4096 = 3532)
4. trs :- text (code) (18 X 4096/1024 = 72kB = VmExe )5. drs :- data/stack
6. lrs :- library (593431 X 4096/1024 = 2373724kB = VmData +VmStk)
7. dt :- dirty pages
从这里可以看出第一项是进程的可执行的大小,X4就等于VmSize
而第二项的值X4就等于VmRSS
如何看Linux哪些进程占内存,linux 查看进程占用内存相关推荐
- Linux ps -aux 和 ps -ef 查看进程信息说明+ps查看进程中的线程
Linux ps -aux 和 ps -ef 查看进程信息说明+ps查看进程中的线程 1. ps -aux | grep xxx 1.1 ps -aux 输出格式: 1.2. 例子 1.3 注意:有时 ...
- 电脑一开机内存(共8G)就用了70%以上,任务管理器里面查看没有占用内存很高的进程
我的解决方法: 1. 安装360驱动大师 2. 点击全面诊断 3. 驱动更新 4. 360优化加速-->启动项管理-->禁止不必要的启动项. 我执行了以上3项之后,笔记本的内存占用变小了. ...
- linux查看进程占句柄,linux下查看系统进程占用的句柄数方法
linux下查看系统进程占用的句柄数方法 ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk ' ...
- linux查看进程占用的内存大小,查看进程占用内存大小的几种方法,占用内存几种方法...
查看进程占用内存大小的几种方法,占用内存几种方法 1. pmap -x pid 2. ps -aux | grep 进程名 ps -e -o 'pid,comm,args,pcpu,rsz,vsz,s ...
- Linux 命令之 ps -- 显示进程状态/查看进程信息
文章目录 介绍 语法格式 常用选项 命令示例 示例 1,查看进程的 PID.名称以及 CPU 占用率 示例 2,查看所有的进程 示例 3,按内存资源的使用量对进程进行排序 示例 4,按 CPU 资源的 ...
- linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...
- Linux工具推荐:方便地查看进程网速
推荐一个款Linux小工具:查看进程的网速. 安装 $ sudo apt install nethogs 查询所有进程网速 sudo nethogs 可以看到所有网卡,包括虚拟网卡的流量和进程都有统计 ...
- 【工具】linux中用top、ps命令查看进程中的线程
在Linux上显示某个进程的线程的几种方式. 方法一:PS 在ps命令中,"-T"选项可以开启线程查看.下面的命令列出了由进程号为<pid>的进程创建的所有线程. $ ...
- linux查看redis内存,Linux查看redis占用内存的方法
redis-cli auth 密码 info # Memory used_memory:13490096 //数据占用了多少内存(字节) used_memory_human:12.87M //数据占用 ...
- unity占内存大小_unity texture 占用内存大小对比
打包多种类型的项目,空项目和10张放在Resources文件夹中的图为比较案例.以下是比较数据. IPHONE: 1.空项目----空间占用量42.3MB----IPA大小10MB 2.10张1200 ...
最新文章
- Redis数据介绍与指令大全
- 计算机二级是立刻知道成绩单,可以在公布前知道计算机二级考成绩吗
- 2013\National _Java_A\3.埃及分数
- android通过c调用shmat函数,编译可在Android上运行的qemu user mode
- mysql使用CONCAT()函数拼接字符串
- java mongo api_MONGODB的javaAPI简单应用
- AI写程序,这事可没那么简单!
- mysql中的trigger
- CEH v8~v11 Module Slides 和 Lab Manual 下载
- aiohttp 高并发web服务_UE4 unity3d连接高并发http服务器
- 基于Java科研成果管理系统_基于Java的高校科研管理系统的设计与实现(含源文件).doc...
- 比较(0,π/2]上对sinx/x的定积分、对x/sinx的定积分与1的大小关系
- Base64编码原理分析
- 关键接口性能测试报告
- vue.js ElementUI /java 笔记
- u盘文件看得见却打不开_u盘可以显示但是打不开怎么办
- 详解 Kubernetes ReplicaSet 的实现原理
- 计算机网络总是识别不了怎么办,电脑连wifi总是正在识别怎么办
- Android获取设备ID号
- 左手技术,右手生态 英特尔如何打响名为“数据”的战争?
热门文章
- 什么是车辆识别代码(VIN)
- 计算机广告制作教程,Photoshop实例教程:制作网站横条广告
- Android修改PackageInstaller自动安装指定应用,android开发网易新闻
- 基于WEB的网上购物系统的设计与实现(附:源码 论文 sql文件)
- mcisendString制作播放器
- 制作网页中弹出对话框的制作
- 计算机常见故障判断方法,电脑故障判断-计算机常见故障判断方法
- CHM打不开的解决方法
- requests-BeautifulSoup爬取美女贴吧图片
- Visual Studio中C++关于Unicode字符集和多字节字符集