查看linux内存被什么查看程序占用内存存

> 博客详情
摘要: Linux
查看占用内存最高的5个进程
ps&aux&|&sort&-k4nr&|&head&-n&5
查看占用CPU最高的5个进程
ps&aux&|&sort&-k3nr&|&head&-n&5
查看所有信息使用命令
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥linux如何查看当前占用CPU或内存最多的5个进程 - CSDN博客
linux如何查看当前占用CPU或内存最多的5个进程
可以使用一下命令查使用内存最多的5个进程
ps -aux | sort -k4nr | head 5
top (然后按下M,注意大写)
可以使用一下命令查使用CPU最多的5个进程
ps -aux | sort -k3nr | head 5
top (然后按下P,注意大写)
本文已收录于以下专栏:
相关文章推荐
可以使用一下命令查使用内存最多的5个进程
ps -aux | sort -k4nr | head 5
top (然后按下M,注意大写)
可以使用一下命令查使用CPU最多的5个进程
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
  top命令是Linux下常用...
一、可以使用以下命令查使用内存最多的K个进程方法1:ps -aux | sort -k4nr | head -K
如果是10个进程,K=10,如果是最高的三个,K=3
说明:ps -aux中(...
ZooKeeper服务命令:
     在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作
1. 启动ZK服务:       sh bin/zkServer...
# linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head# linux 下 取进程占用内存(...
1. ps命令ps -aux | sort -k4nr | head -N*命令详解:
1. head:-N可以指定显示的行数,默认显示10行。
2. ps:参数a指代all——所有的进程,u指代...
web前端入坑第四篇:你还在用 jQuery?大妈都这么努力,我们有几个人回家还看书的?先来补齐【web前端入坑系列】前三篇的连接web前端入坑系列:点击标题进入第一篇: web 前端入坑第一篇:we...
用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
CPU是一种很重要的资源,如果能够跟踪某个阶段内占用的CPU最多的进程,通过监视一段时间内的CPU使用情况,我们可以找出长期占用CPU的进程并对其进行优化,提高CPU使用效率,我们知道ps指令适用于收...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Linux下查看某一进程所占用内存的方法
时间: 11:45:51
&&&& 阅读:138
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&  Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如&ps -ef | grep kafka&可以看到kafka这个程序的进程id
  可以看到是2913,现在可以使用如下命令查看内存:
top -p 2913
  这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行
  也可直接使用ps命令查看:&ps -aux | grep kafka&
  第一个标注的地方是CPU和内存占用率,后面的943100是物理内存使用量,单位是k,此时kafka大约占用943M内存
  还可以查看进程的status文件:&cat /proc/2913/status&
  VmRSS对应的值就是物理内存占用,大约为943M和刚才一致
  另外还可以通过&top&命令动态查看内存占用
  通过:&ps aux | sort -k4,4nr | head -n 10&查看内存占用前10名的程序标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:/freeweb/p/5407105.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!如何确定Linux下一个进程所占用的内存大小
如何确定Linux下一个进程所占用的内存大小?这看起来超简单,top或者ps一下就能看出来。今天研究了一下发现并没有这么简单,相反还比较复杂。
以TOP为例,它有若干指示内存占用的列,从man top里摘抄如下:
n: %MEM& && Memory usage (RES)
A task&s currently used share of available physical memory.
o: VIRT& && Virtual Image (kb)
The total amount of virtual memory used by the task.& It includes
all code, data and shared libraries plus pages that have been swapped
VIRT = SWAP + RES.
p: SWAP& && Swapped size (kb)
The swapped out portion of a task&s total virtual memory image.
q: RES& && Resident size (kb)
The non-swapped physical memory a task has used.
r: CODE& && Code size (kb)
The amount of virtual memory devoted to executable code, also known as the &text resident set& size or TRS.
s: DATA& && Data+Stack size (kb)
The amount of virtual memory devoted to other than executable code, also known as the &data resident set& size or DRS.
t: SHR& && Shared Mem size (kb)
The amount of shared memory used by a task.& It simply reflects memory that could be potentially shared with other processes.
首先是MEM大有深意。&share of available physical
memory&,意为可用物理内存的共享。这说明代表的是在真正的物理内存使用大小,不包括换页到swap上的部分。而且这个&share&说明这个大小
可能被多个进程共享,最典型的是父子进程。MEM就是RES/物理内存大小 * 100%
其次VIRT是&the total amount of virtual memory used by the task&,说明这是这个进程的使用整个进程空间大小。
再次SWAP是VIRT与RES的差值。意为被换页出去的内存大小。注意这和所使用的SWAP分区大小是不同的。
再次CODE和DATA分别代表代码段和数据与堆栈段,CODE+DATA与VIRT接近,但从观察的结果来看,不一定接近。
以进程pcmanx为例,CODE(248kb) + DATA(78mb) 远小于RES(10mb) + SWAP(243mb)。
这说明,进程空间往往远大于CODE+DATA。因为在执行过程中会free掉部分malloc出来的内存,进程空间没有减小,但DATA段大小减小。这样分析是否正确?
最后SHR看起来就没什么意义,因为&could be potentially shared with other processes&可能也就代表代码段和动态链接的库的大小?这只是我的猜测。
因此可以总结为,从RES看物理内存中的占用量,但这部分占用量是可能被&share&的;从VIRT看进程的进程空间大小,从DATA看进程现在所持有的数据大小。
请各位遵纪守法并注意语言文明中国领先的IT技术网站
51CTO旗下网站
Linux终端:用smem查看内存占用情况
无论是作为系统管理员,还是作为使用桌面版Linux的简单用户,你都会注意到,某个进程在耗用你系统的所有内存。但现在我们不妨看一个小巧的程序,它可以帮助我们找到哪些进程/用户在大量耗用我们系统的内存。
作者:布加迪编译来源:| 10:41
无论是作为系统管理员,还是作为使用桌面版Linux的简单用户,你都会注意到,某个进程在耗用你系统的所有内存。
首先要明白Linux是如何管理内存的;我多次接到用户的反映,说运行了free命令,就是无法适当读取输出。简而言之,如果是Linux内核,不用担心;内核在耗用内存,缓存文件呢。
放心,Linux内核开发人员比你我更有能力找到一种优秀的算法来缓存文件,并且当某个进程需要时,释放该内存区域,所以千万不要让我把运行诸如这种命令的某个任务放入计划任务(cron):
echo&3&&/proc/sys/vm/drop_caches&&
当然,之后,你会在系统上有更多的可用闲置内存,但是系统不得不从磁盘重新读取所有文件,所以就性能而言,这通常是一个糟糕的举措:
但现在我们不妨看一个小巧的程序,它可以帮助我们找到哪些进程/用户在大量耗用我们系统的内存。
smem这个工具可以提供Linux系统上内存耗用情况方面的众多报告。与现有的工具不一样,smem可以报告实际使用的物理内存(PSS),这是一种更有意义的指标,可以衡量虚拟内存系统中的库和应用程序所占用的内存数量。
由于大部分的物理内存通常在多个应用程序之间共享,名为实际使用物理内存(RSS)的这个标准的内存耗用衡量指标会大大高估内存耗用情况。PSS这个参数而是衡量了每个应用程序在每个共享内存区中的&公平分配&,给出了一个切合实际的衡量指标。
smem有许多功能特性:
系统概况列表
按进程、映射和用户列表
按用户、映射或用户过滤
来自多个数据源的可配置列
可配置的输出单位和百分比
可配置的标题和总和
从/proc读取活动数据
从目录镜像或经过压缩的打包文件读取数据快照
面向嵌入式系统的轻型捕获工具
内置的图表生成功能
如果你使用Debian、Ubuntu或Mint,可以使用下面这个命令,直接从官方软件库安装smem:
$&sudo&apt-get&install&smem&&
Arch Linux用户可以从Arch用户软件库(AUR,)安装程序包。
Red Hat / Fedora / CentOS / SuSE用户可以使用直接从官方网站下载的预编译二进制代码。为了方便起见,你可以拷贝剪贴这些命令,这些命令会将命令smen放入到你的/usr/local/bin文件夹:
cd&/tmp/&wget&/smem/download/smem-1.3.tar.gz&tar&xvf&smem-1.3.tar.gz&sudo&cp&/tmp/smem-1.3/smem&/usr/local/bin/&sudo&chmod&+x&/usr/local/bin/smem&&
smem可报告物理内存使用情况,并且考虑到共享的内存页面。非共享内存被报告为进程独自占用的物理内存(USS)。共享内存在共享该内存的多个进程之间平均分配。非共享内存(USS)以及进程的共享内存比例被报告为实际使用的物理内存(PSS)。USS和PSS只包含物理内存使用情况。它们并不包含已经被置换到磁盘上的内存。
基本用法会显示运行中进程以及所用的内存数量;想看看这方面的情况,运行不带任何选项的命令smem,这会得出类似下面这样的输出:
4223 linuxaria
/usr/lib/chromium-browser/c
14280 root
python ./smem
2180 linuxaria
/usr/bin/python /usr/share/
2144 linuxaria
python /usr/lib/linuxmint/m
2121 linuxaria
Thunar --daemon
2123 linuxaria
13095 linuxaria
/usr/lib/chromium-browser/c
2577 linuxaria
/usr/bin/python /usr/lib/ub
2127 linuxaria
/home/riccio/copy/x86_64/Co
10720 linuxaria
/usr/lib/chromium-browser/c
10561 linuxaria
/usr/lib/chromium-browser/c
10579 linuxaria
/usr/lib/chromium-browser/c
5605 linuxaria
transmission-gtk /tmp/[kick
8938 linuxaria
/usr/lib/firefox/plugin-con
2186 linuxaria
/home/linuxaria/.dropbox-dist/
/usr/bin/X :0 -audit 0 -aut
10623 linuxaria
/usr/lib/chromium-browser/c
4171 linuxaria
chromium-browser --disable-
7050 linuxaria
/usr/lib/thunderbird/thunde
2644 linuxaria
/usr/lib/firefox/firefox
所以在该示例(我的桌面)中,耗用较多内存的进程是Firefox,占用内存第二多的是Thunderbird。
-u是一个有用的选项,它显示了每个用户所耗用的内存总量:
messagebus
可以为该命令添加-p,显示百分比数值:
#smem -u -p
messagebus
或者,如果你更想看到整个系统的内存使用情况,则可以使用-w选项:
#smem -w -p
firmware/hardware
kernel image
kernel dynamic memory
userspace memory
free memory
说到-w,我建议另外使用选项-R REALMEM,这个值是指物理内存数量。这让smem可以在整个系统(-w)的输出中发现固件/硬件所耗用的内存数量。如果提供该选项,它还可以用作百分比所用到的总内存大小。
#smem -R 8G -w -p
firmware/hardware
kernel image
kernel dynamic memory
userspace memory
free memory
借助smen,以图形显示linux内存
如果借助smem(又拥有matplotlib库),只要再借助几个选项,就可以生成条形图和饼形图。
显示带&pss&和&uss&这两列的条形图:
#smem&--bar&pid&-c&&pss&uss&&&
创建饼形图,显示在运行系统上以&k&开头的进程:
#smem&-P&'^k'&--pie=name&
smem是一款易于使用的工具,你在寻找大量耗用内存的进程时,它可以轻松给出一些有用信息,而且很容易以图形来显示,那样你就能联系用户,劝说他们在内存方面需要合理使用。
原文链接:
原文标题:Linux Terminal: Check who uses all your memory with smem
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条头条热点头条热点
24H热文一周话题本月最赞
讲师:30802人学习过
讲师:269041人学习过
讲师:145456人学习过
精选博文论坛热帖下载排行
本书提供了.NET框架下C#编程的详尽指南。书中详细介绍了.NET框架中的核心概念、使用GDI+编写高级用户界面、多线程程序设计、使用ClickOnc...
订阅51CTO邮刊

我要回帖

更多关于 linux 程序内存占用 的文章

 

随机推荐