Linux下查看进程占用内存的最好方式
今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下
翻译自http://stackoverflow.com/questions/3853655/in-linux-how-to-tell-how-much-memory-processes-are-using
查看进程占用的内存的方式可能比你想象中的要复杂的多。我所找到的最好的方式是在这篇文章里面看到的(https://web.archive.org/web/20101124103342/http://kdedevelopers.org/node/4040)
echo 0 $(awk '/TYPE/ {print "+", $2}' /proc/`pidof PROCESS`/smaps) | bc
pidof PROCESS 就是你想查看的进程的进程PID。TYPE的可选值如下:
Rss: 内存占用。进程占用的所有内存,包括跟其他进程共享的内存(直接把共享的整个内存数值加上来)。但是这个值没有包含swap
Shared: 该进程跟其他进程分享的内存
Private: 该进程占用的私有内存。通过这个数据你可以查看到内存泄露问题
Swap 该进程用的swap内存
Pss 按比例计算的内存数量。这是一个很好的看总体内存占用量的参数。这是根据共享进程的数量来调整共享内存数量的内存占用。 如果一个进程占用的私有内存是1MB,使用的共享内存有20MB,但是这个共享内存同时有10个进程(包括它自己在内)在使用,那么PSS就是 1 + 20/10 = 3MB
译者按:
我自己执行这段代码的时候发现bc工具没装,就先用yum install bc来安装了一下bc
我先用 ps aux | grep hbase来找到hbase占用的进程号
然后这是我的执行例子
echo 0 $(awk '/Pss/ {print "+", $2}' /proc/2871/smaps) | bc
186814
转载:http://blog.csdn.net/nsrainbow/article/details/52159253
Linux下查看进程占用内存的最好方式的更多相关文章
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
- linux 下查看进程占用端口和端口号占用进程命令
linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep 进程号 ubuntu ...
- Linux中查看进程占用内存的情况【转】
转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将 ...
- Linux/Centos查看进程占用内存大小的几种方法总结
1.命令行输入top回车,然后按下大写M按照memory排序,按下大写P按照CPU排序. 2. ps -ef | grep "进程名" ps -e -o 'pid,comm ...
- linux下查询进程占用的内存方法总结
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...
- Linux下查看端口占用进程号,程序名的方法
Linux下查看端口占用进程号,程序名的方法,方便我们查找什么进程导致系统变慢等需要.linux下查看端口占用情况: 1. 查看哪个进程占用了819端口: case9-sghfofo:/usr/loc ...
- Linux下查看进程的命令输出的内容解释
Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID TTY TIME ...
- 如何在 Linux 中查看进程占用的端口号【转】
对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...
- linux下查看进程的状态 /proc/[pid]/status
查看进程的状态: 1.查看进程的pid,以java为例:ps -ef | grep java 2.查看进程状态:cat /proc/[pid]/status 关键字: linux [root@loca ...
随机推荐
- Python环境安装(Windows环境)
近半年来一直在用Python处理手头的工作.想想,Python确实是一门比较强大的语言,容易上手且功能强大, 基本上想做的工作都能找到别人提供的包. 目前主要在windows系统上办公,这里把wind ...
- 秒杀多线程第八篇 经典线程同步 信号量Semaphore (续)
java semaphore实现: Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用.Java 并发库 的Semaphore 可以很轻松完成信号 ...
- C#非泛型集合类与泛型集合类的区别 (转)
来自:http://blog.csdn.net/jiayanhui2877/article/details/7623845 C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应Li ...
- [五]SpringBoot 之 连接数据库(JPA-Hibernate)
在具体介绍之前,先了解下什么是JPA JPA全称JavaPersistence API.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. http: ...
- http://www.pythonchallenge.com/ 网站题解
在知乎中无意发现了这个网站,做了几题发现挺有趣的,这里记录下自己的解题思路,顺便对比下答案中的思路 网页:http://www.pythonchallenge.com/ 目前只做了几题,解题的方法就是 ...
- JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别
String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 String 对象方法 方法 描述 ...
- 【Visual Installer】如何读取与写入注册表信息
引入:using Microsoft.Win32; (1)读取注册表信息 代码: RegistryKey rsg = null; rsg = Registry.LocalMachine.OpenSub ...
- linux top命令查看系统资源
参考材料: http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html
- bzoj2296: 【POJ Challenge】随机种子(思维题/水题)
有点类似CF某场div2T1... 前面接上1234567890000000,后面加上x+(1234567890000000%x)就可以保证是x的倍数了 #include<iostream> ...
- 那些你不常用却非常有用的MySql语句和命令
操作数据库 关于数据库的操作比较少,主要是:看.建.用.删. 查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. 1 mysql> show da ...