licess 发表于 2012-5-31 12:32:44

Linux下查看CPU以及内存信息命令及参数结果解释说明

查看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      
缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。


序号

列名

含义

a
PID
进程id
b
PPID
父进程id
c
RUSER
Real user name
d
UID
进程所有者的用户id
e
USER
进程所有者的用户名

f
GROUP
进程所有者的组名

g
TTY
启动进程的终端名。不是从终端启动的进程则显示为 ?
h
PR
优先级

i
NI
nice值。负值表示高优先级,正值表示低优先级

j
P
最后使用的CPU,仅在多CPU环境下有意义

k
%CPU
上次更新到现在的CPU时间占用百分比

l
TIME
进程使用的CPU时间总计,单位秒

m
TIME+
进程使用的CPU时间总计,单位1/100秒

n
%MEM
进程使用的物理内存百分比

o
VIRT
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p
SWAP
进程使用的虚拟内存中,被换出的大小,单位kb。

q
RES
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r
CODE
可执行代码占用的物理内存大小,单位kb
s
DATA
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t
SHR
共享内存大小,单位kb
u
nFLT
页面错误次数

v
nDRT
最后一次写入到现在,被修改过的页面数。

w
S
进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程

x
COMMAND
命令名/命令行

y
WCHAN
若该进程在睡眠,则显示睡眠中的系统函数名

z
Flags
任务标志,参考 sched.h
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
查看内存信息:
# 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,才是运行中的程序所占用的空间
页: [1]
查看完整版本: Linux下查看CPU以及内存信息命令及参数结果解释说明