总地来讲,ps 和 top 命令都用来查看当前系统中运行进程的相关信息。
Linux ps命令
ps(Process Status)命令主要用于监控进程,通过此命令可以查看系统中所有运行进程的详细信息。
ps 命令的基本格式如下:
[root@bogon ~]# ps [选项]
[] 括号括起来的为可选参数,可以不写。
ps 命令常用的选项及作用如表 1 所示。
表 1 ps 命令常用选项及作用
选 项
作 用
a
显示一个终端的所有进程
u
显示进程的归属用户及内存的使用情况
x
显示没有控制终端的进程
-l
长格式显示更加详细的信息
-e
显示所有进程
注意,aux 和 -axu 都能显示终端的所有进程。aux 使用的是 BS 操作系统格式;-axu 则使用的是 Linux 标准命令格式。
举个例子,在终端页面输入如下命令:
[root@bogon ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19364 1536 ? Ss 03:51 0:02 /sbin/init
root 2 0.0 0.0 0 0 ? S 03:51 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 03:51 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 03:51 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 03:51 0:00 [migration/0]
root 6 0.0 0.0 0 0 ? S 03:51 0:00 [watchdog/0]
root 7 0.0 0.0 0 0 ? S 03:51 0:00 [migration/1]
root 8 0.0 0.0 0 0 ? S 03:51 0:00 [migration/1]
root 9 0.0 0.0 0 0 ? S 03:51 0:00 [ksoftirqd/1]
root 10 0.0 0.0 0 0 ? S 03:51 0:00 [watchdog/1]
......
在命令的输出信息中,各列代表的含义如下:
USER 代表进程的执行用户;
PID 代表进程的唯一编号;
%CPU 表示进程的 CPU 占有率;
%MEM 表示进程的内存占有率;
VSZ 代表进程使用的虚拟内存的大小(KB);
RSS 代表进程使用的真实内存大小(KB);
TTY 表示终端;
STAT 代表进程的状态:
D 为不可中断的进程,R 为正在运行的进程,S 为正在睡眠的进程,T 为停止或被追踪的进程,X 为死掉的进程,Z 为僵死进程;
START 代表进程启动的时间;
TIME 代表进程占有 CPU 的总时间;
COMMAND 代表进程命令。
Linux top命令
top 命令可以动态地查看进程地运行状态。top 命令的基本格式如下:
[root@bogon ~]# top [选项]
top 命令常用的选项及作用如表 2 所示。
表 2 top命令常用选项及作用
选 项
作 用
-d 秒数
指定 top 命令每隔几秒进行刷新。默认是 4s
-b
使用批处理模式输出。一般和“-n”选项合用,用于把 top 命令重定向到文件中
-n 次数
指定 top 命令执行的次数。一般和“-”选项合用
-p 进程PID
仅查看指定 ID 的进程信息
-s
使 top 命令在安全模式中运行,避免在交互模式中出现错误
-u 用户名
监听某个用户的进程
举个例子:
[root@bogon ~]# top
top - 07:21:35 up 3:30, 2 users, load average: 0.08, 0.24, 0.20
Tasks: 233 total, 1 running, 232 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.2%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3908800k total, 897676k used, 3011124k free, 67228k buffers
Swap: 2031608k total, 0k used, 2031608k free, 456472k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2446 root 20 0 200m 40m 8924 S 4.3 1.0 0:44.50 Xorg
2821 root 20 0 290m 13m 9556 S 2.3 0.4 0:15.44 gnome-terminal
1 root 20 0 19364 1536 1228 S 0.0 0.0 0:02.97 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
......
注意,以上的输出信息是不断变化的。