Linux下产看CPU以及内存信息
本文是转贴以及总结,防止原文删除以作备份,参考文献:
http://www.iteye.com/topic/621389
http://blog.csdn.net/JsuFcz/archive/2009/12/20/5044932.aspx
查看CPU信息
1.ps命令
一些查看参数:
?? ? ?1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有程序。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u 以用户为主的格式来显示程序状况。
13)ps x? 显示所有程序,不以终端机来区分。
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
2.top命令
直接键入 top,返回一个类似windows下任务管理器的动态输出结果,此结果会长期占据控制台,而ps则相当于某时刻的一个剪影,所以到底用哪个是情况而定。
top输出结果详解:
前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
?
01:06:48?? ? ? ?当前时间
up 1:22系统运行时间,格式为时:分
1 user当前登录用户数
load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
?
?
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 29 total进程总数
1 running正在运行的进程数
28 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
Cpu(s): 0.3% us用户空间占用CPU百分比
1.0% sy内核空间占用CPU百分比
0.0% ni用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id空闲CPU百分比
0.0% wa等待输入输出的CPU时间百分比
0.0% hi
0.0% si
最后两行为内存信息。内容如下:
Mem: 191272k total物理内存总量
173656k used使用的物理内存总量
17616k free空闲内存总量
22052k buffers用作内核缓存的内存量
Swap: 192772k total交换区总量
0k used使用的交换区总量
192772k free空闲交换区总量
123988k cached缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
?
查看内存信息:
# free -m
?? ? ? ? ? ? ? ? ? ? ?total ? ? ? ? ?used ? ? ? ? ? free???? shared??? buffers???? cached
Mem:?????? 2074340??? 1340400???? 733940????????? 0 ? ? ? 216736???? 857836
-/+ buffers/cache:???? 265828??? 1808512
Swap:??????????? 0????????? 0????????? 0
查看/proc/kcore文件的大小:
PS:/kcore文件是虚拟内存映像,与内存的大小相等,属于虚拟文件系统,所以他不占磁盘空间的,可用
#du -h /proc/kcore
查看其实际大小
?
# ll -h /proc/kcore
or
#ls -l -h /proc/core
-r-------- 1 root root 897M Jan 30 19:39 /proc/kcore
--------------下面是参数 ------------------------------
?? -b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
linux 优先运用物理内存,当物理内存还有空闲时,linux是不会施放内存
的,即使占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就
是说,即时你有2G的内存,用过一段时间后,也会被占满。这样做的裨益是,启
动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有
裨益。
用 used 减去 buffer 和 cache,才是运行中的程序所占用的空间
?