进程管理ps,top

进程管理ps,top

1: ps命令显示目前内存中的进程:

参数:

-A :所有的 process 均显示出来,与 -e 具有同样的效用;

-a :不与 terminal 有关的所有 process ;
-u :有效使用者 (effective user) 相关的 process ;
x :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:
l :较长、较详细的将该 PID 的的信息列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出。

 

  1. #ps -aux 
  2. USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND 
  3. root      3400  0.0  0.0   1764   444 tty1     Ss+  16:32   0:00 /sbin/mingetty tty1 
  4. root      3401  0.0  0.0   1764   440 tty2     Ss+  16:32   0:00 /sbin/mingetty tty2 
  5. root      3404  0.0  0.0   1764   444 tty3     Ss+  16:32   0:00 /sbin/mingetty tty3 
  6. root      3407  0.0  0.0   1764   444 tty4     Ss+  16:32   0:00 /sbin/mingetty tty4 
  7. root      3410  0.0  0.0   1764   444 tty5     Ss+  16:32   0:00 /sbin/mingetty tty5 
  8. root      3413  0.0  0.0   1764   448 tty6     Ss+  16:32   0:00 /sbin/mingetty tty6 
说明:%CPU表示进程使用CPU的时间,%MEM表示进程使用内存的情况,VSZ使用虚拟内存的情况。RSS表示进程使用的物理内存量,其中包括了多少个进程共享的部分内存。STAT显示了各进程的状态,一般具有下列进程状态。
PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process.
D    Uninterruptible sleep (usually IO)
R    Running or runnable (on run queue)
S    Interruptible sleep (waiting for an event to complete)
T    Stopped, either by a job control signal or because it is being traced.
W    paging (not valid since the 2.6.xx kernel)
X    dead (should never be seen)
Z    Defunct ("zombie") process, terminated but not reaped by its parent.
 
For BSD formats and when the stat keyword is used, additional characters may be displayed:
<    high-priority (not nice to other users)
N    low-priority (nice to other users)
L    has pages locked into memory (for real-time and custom IO)
s    is a session leader
l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+    is in the foreground process group
 
注意:如果使用ps命令显示出有很多进程都被换出到了磁盘上,则应将大部分精力放在物理内存和虚拟内存的调整上;如果ps命令显示结果是某个进程占用CPU时间百分比很高,则应该用nice命令或者renice命令降低该进程的优先级,推迟该进程结束的时间以使其他进程结束时间提前;如果ps命令显示出不该存在于系统的进程,则用kill命令终止他们。
 
 
2:top
TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
 
  1. top - 05:07:25 up  9:21,  1 user,  load average: 0.020.020.00 
  2. Tasks:  77 total,   2 running,  75 sleeping,   0 stopped,   0 zombie 
  3. Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.2%id,  0.0%wa,  0.0%hi,  0.8%si,  0.0%st 
  4. Mem:    514852k total,   480108k used,    34744k free,    75236k buffers 
  5. Swap:  1052248k total,        0k used,  1052248k free,   231592k cached 
  6.  
  7.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 
  8. 10417 root      15   0 17548  10m 2772 R  0.3  2.1   0:00.72 sshd 
  9.     1 root      15   0  2176  640  548 S  0.0  0.1   0:01.00 init 
  10.     2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0 
  11.     3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0 
  12.     4 root      10  -5     0    0    0 S  0.0  0.0   0:00.06 events/0 
  13.     5 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper 
  14.     6 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 kthread 
  15.     9 root      10  -5     0    0    0 S  0.0  0.0   0:00.16 kblockd/0 
  16.    10 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid 
  17.   178 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/0 
  18.   181 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khubd 
  19.   183 root      13  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod 
  20.   251 root      15   0     0    0    0 S  0.0  0.0   0:00.00 khungtaskd 
  21.   252 root      24   0     0    0    0 S  0.0  0.0   0:00.00 pdflush 
  22.   253 root      15   0     0    0    0 S  0.0  0.0   0:01.22 pdflush 
  23.   254 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kswapd0 
  24.   255 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0 
说明:
行1:top命令显示系统负载情况,从左到右分别显示系统现在时间,已开机时间,目前登陆系统的用户数,系统负载情况。
行2:显示进程统计,分别是进程总数,正在运行的进程数,睡眠的进程数,停止的进程数,僵尸进程数。
行3:CPU使用情况,分别是us代表用户进程使用cpu的百分比;sy代表系统进程占用cpu的百分比;ni代表renice占用cpu的百分比;id代表cpu闲置的百分比;wa代表等待I/O的百分比;hi处理硬件中断的百分比;si处理软件中断的百分比。
行4:Mem的使用情况,分别是内存总量、已使用的 内存量、尚未使用的内存总量、缓冲区大小。
行5:Swap的使用,分别是置换空间总量、已使用的置换空间、尚未使用的置换空间、快取大小。
行7为进程信息的各个字段,其意义如下表:
 
代号 意义 代号 意义
PID 进程编号 SHR 可分享给其他进程的内存大小
USER 拥有进程的使用者 S 进程状态
PR 进程优先级 %CPU 进程占用CPU百分比
NI 进程的nice值 %Mem 进程占用真是内存的大小
VIRT 进程占用虚拟内存的大小 TIME+ 进程以占用的CPU时间
RES 进程常驻时占用的内存大小 COMMAND 进程名称和参数

 

使用top的常用命令字符:

  • 显示操作说明:按h或?可展示出操作方法的说明。
  • 离开top的方法:按q结束top。当然,按[Ctrl+C]组合键也可以。
  • 切换信息显示与否:
  1. 按[1]可以切换到top的工作负载行; 
  2. 按[t]可以切换到Tasks和Cpu(s)行。 
  3. 按[m]键可切换显示Mem和Swap行。 
  • 切换显示cpu数量:按1可展示出多cpu系统,多cpu使用率。
  • 调整颜色和字体:
  1. 按[z]键切换彩色或单色显示。 
  2. 按[b]键切换是否可以显示粗体。 
  3. 按[Z]键进入改变面板颜色的界面。 
  • 找出某个使用者的进程:按[u]键,接着输入使用者的名称。如果是按[u]键之后直接按[Enter]键,则列出全部使用者的进程。
  • 切换显示执行中或闲置的进程(二者选择其一):按[i]键。
  • 切换显示程序(即COMMAND栏)的参数:按[c]键。
  • 调整更新信息的秒数,默认是3秒更新一次:按[d]或[s]键。
  • 传送信号给某一个进程:按[K]键之后,top会询问想要传送信号的进程编号(pid),接着询问准备传送的信号,如果直接按[Enter]键,则默认传送的信号编号为15.
  • 调整进程的优先级:按[r]键之后,top会询问欲调整的进程编号,接着询问欲调整的nice值。
  • 按[F]或[O]键,可选择要排序的字段,用法是按了[F]或者[O]键之后,在按域名前的字符代码,例如k代表以%cpu字段作为排序的依据。
  • 按[R]键可切换排序是才降序或升幂。
  • 按[<]键可把排序的目标字段往左移一位;按[>]键可把排序的目标字段往右移动一位。
  • 按[f]或[o],可往左或者往右移动欲显示的字段,方法是按了[f]或[o]键之后再按域名前的字符代码,按大写字母表示向左移动,按小写字母表示向右移动。

 

 

3:htop命令

使用top命令来管理进程,很不方便,最主要的原因是top这种单一名字符的操作方式并不容易使用,管理者经常会忘记那些功能应该按那些键,简单来说,就是操作不够直观。

使用linux的系统,可以到http://htop.sourceforge.net下载htop。

使用Debian或B2D的系统可以:

apt-get update

apt-get install htop

htop可以按上下箭头选取进程,按左右箭头移动字段,按[F1]~[F10]键操作各项管理功能。例如:按上下键,把反白移动到apache2进程,按[F8]键可以增加nice值,这样可以降低apache2的优先级。[F9]可以对进程传递信号,按[F10]或q退出。

进程管理ps,top