篇一:Linux查看进程的内存占用情况
Linux查看进程的内存占用情况
1、top
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
2、/proc/pid
测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息
说明:
/proc/N pid为N的进程信息
/proc/N/cmdline 进程启动命令
/proc/N/environ 进程环境变量列表/proc/N/exe 链接到进程的执行命令文件/proc/N/fd 包含进程相关的所有的文件描述符/proc/N/maps 与进程相关的内存映射信息
/proc/N/mem 指代进程持有的内存,不可读/proc/N/root 链接到进程的根目录/proc/N/stat 进程的状态/proc/N/statm 进程使用的内存的状态
/proc/N/status 进程状态信息,比stat/statm更具可读性/proc/self 链接到当前正在运行的进程
3、pmap
pmap命令可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个进程分配了多少内存,并以此来判断这是否是导致内存瓶颈的原因。要得到更加详细的信息,使用pmap -d选项。
篇二:查看LINUX进程内存占用情况
查看LINUX进程内存占用情况
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
(1)top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top -u oracle
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
(2)pmap
可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:$ pmap -d 14596
(3)ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是实际内存
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -k5其中rsz为实际内存,上例实现按内存排序,由大到小
篇三:Linux服务器内存使用Free命令结果解析
Linux服务器内存使用Free命令结果解析
By lixiangjing on 04 9月 2012
这篇文章讲解很透彻,老李先前对于free命令的结果不是很明白,通过这篇文章我终于明白了Linux的内存机制,建议童鞋阅读。查看Linux服务器下的内存使用情况,可以使用命令free -m。
#free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
?
?
?
?
?
?
?
? total:内存总数 used:已经使用的内存数 free:空闲的内存数 shared:多个进程共享的内存总额 -buffers/cache:(已用)的内存数,即used-buffers-cached +buffers/cache:(可用)的内存数,即free+buffers+cached 可用内存的计算公式为: 可用内存=free+buffers+cached,即2551MB+268MB+917MB=3737MB 在第一部分Mem行中有如下参数:
total:内存总数,即1002MB
used:已经使用的内存数,即769MB
free:空闲的内存数,即232MB
shared:当前已经废弃不用,总是0
buffers Buffer:缓冲内存数,即62MB
cached Page:缓存内存数,即421MB
其中,内存总数与已使用内存数和空闲内存数的关系是:
total(1002MB)=used(769MB)+free(232MB)
在第二部分内容(-/+buffers/cache)中各参数如下所示。
(-buffers/cache):used内存数,即286MB(指的是第一部分Mem行中的used-buffers-cached)。
(+buffers/cache):free内存数,即715MB(指的是第一部分Mem行中的free+buffers+cached)。
可见-buffers/cache反映的是被程序实实在在用掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三部分是指交换(swap)分区,大家应该都明白。
有可能大家看了上面的解释还是不太明白。比如:第一部分(Mem)与第二部分(-/+buffers/cache)的结果有关,used和free为什么这么奇怪?其实我们可以从两个方面来分析。对操作系统来讲这两项是Mem的参数,buffers/cached都属于被使用,所以它认为free只有232MB;对应用程序来讲+buffers/cached等同于可用的内存,因为buffer/cached可提高程序执行的性能,当程序使用内存时,buffer/cached很快就会被使用。所以从应用的角度来看,应以
(-/+buffers/cache)的free和used为主,即我们主要看与它相关的free和used就可以了。内幕:为了提高磁盘和内存的存取效率,对Linux做了很多精心的设计,除了对dentry进行缓存(用于VFS、加速文件路径名到inode的转换)外,还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者用
于针对磁盘块的读写,后者用于针对文件inode的读写。这些Cache能有效地缩短I/O系统调用(比如read、write、 getdents)的时间。
在Linux中,内存是拿来用的,不是拿来看的。而在Windows中,无论你的真实物理内存有多少,它都会用硬盘交换文件来读,即使是内存还有一 大部分。这也就是Windows常常提示虚拟空间不足的原因。可以想见,硬盘怎么会快过内存,所以我们在观察Linux的内存使用情况时,只要没发现用 swap的交换空间,就不用担心自己的内存太少。如果常常看到swap用了很多,那么你就要考虑加物理内存了。这也是在Linux服务器上看内存是否够用 的标准。
《linux内存使用情况》
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/meiwen/30157.html
转载请保留,谢谢!
- 上一篇:win8系统蓝屏怎么办
- 下一篇:护士试用期工作总结