- 积分
- 117977
- 威望
-
- 金钱
-
- 注册时间
- 2009-4-24
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
查看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,才是运行中的程序所占用的空间 |
|