常用命令:
ps -ef :查看所有进程。-e参数显示所有运行在系统上的进程;-f参数则扩展了输出。
UID:启动进程的用户;
PID:进程的ID;
PPID:父进程的ID;
C:进程生命周期中的CPU利用率;
STIME:进程启动时的系统时间;
TTY:进程启动时的终端设备;
TIME:运行进程需要的累计CPU时间;
CMD:启动进程的程序名称
shaphicprb13137:~/test2 # ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jun13 ? 02:20:01 /usr/lib/systemd/systemd --swi
root 2 0 0 Jun13 ? 00:00:08 [kthreadd]
root 3 2 0 Jun13 ? 01:21:47 [ksoftirqd/0]
root 5 2 0 Jun13 ? 00:00:00 [kworker/0:0H]
root 7 2 0 Jun13 ? 04:12:55 [rcu_sched]
root 8 2 0 Jun13 ? 00:00:00 [rcu_bh]
root 9 2 0 Jun13 ? 00:25:29 [migration/0]
root 10 2 0 Jun13 ? 00:00:20 [watchdog/0]
root 11 2 0 Jun13 ? 00:00:23 [watchdog/1]
root 12 2 0 Jun13 ? 00:25:31 [migration/1]
……
……
……
命令结合grep可以对进程进行筛选。
ps只能看到实时的进程信息,无法看到进程的变化趋势。采用top命令比较适用于这种情况。
如下:
第一行显示了当前时间、系统的运行时间、登陆的用户数以及系统的平均负载。平均负载有3个数值,最近1分钟的、最近5分钟的、最近15分钟的平均负载。
第二行显示了进程的概要信息:有多少进程在运行、休眠、停止或是僵化状态(进程完成了,但是父进程没有响应)。
第三行是CPU的概要信息:top根据进程的属主(用户还是系统)和进程的状态(运行、空闲或等待)将CPU的利用率分成几类输出。
第四行和第五行分别是内存概要信息和交换区概要信息:内存总量,已使用内存,空闲内存。
后面的详细列表则是进程的具体信息,与ps命令类似:
PID:进程ID;
USER:进程属主的名字;
PR:进程优先级;
NI:进程的谦让程度;
VIRT:进程占用的虚拟内存总量;
RES:进程占用的物理内存总量;
SHR:进程和其他进程共享的内存总量;
S:进程的状态,D代表可中断的休眠状态,R代表运行状态,S代表休眠状态,T代表跟中状态或停止状态,Z代表僵化状态;
%CPU:进程使用的CPU时间比例;
%MEM:进程使用的内存占可用内存的比例;
TIME+:进程从启动到目前为止的CPU时间总量;
COMMAND:启动进程的程序名。
top命令默认按照%CPU值对程序排序,可以通过命令调整:f允许选择对输出进行排序的字段;d允许修改轮询时间,默认轮询时间是3秒。
shaphicprb13137:~/test2 # top
top - 17:31:13 up 90 days, 8:37, 1 user, load average: 5.69, 4.96, 4.87
Tasks: 648 total, 1 running, 647 sleeping, 0 stopped, 0 zombie
%Cpu(s): 11.8 us, 7.8 sy, 0.0 ni, 78.7 id, 0.3 wa, 0.0 hi, 1.0 si, 0.4 st
KiB Mem: 65784500 total, 63475292 used, 2309208 free, 1181356 buffers
KiB Swap: 4192252 total, 259908 used, 3932344 free. 26328900 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19208 ossuser 20 0 2295904 99236 11656 S 33.113 0.151 30819:20 etcd
318117 ossuser 20 0 3799628 2.848g 24 S 32.781 4.540 11070:08 java
40492 ossuser 20 0 4299472 1.299g 19232 S 17.550 2.071 6947:03 java
75556 ossuser 20 0 514244 349480 18792 S 12.252 0.531 715:03.73 java
92047 ossadm 20 0 1793944 294724 13096 S 7.616 0.448 3285:32 java
206716 ossuser 20 0 2328324 1.685g 12412 S 5.960 2.686 2273:09 java
9241 ossuser 20 0 6896164 907992 18096 S 5.629 1.380 2334:38 java
83678 ossadm 20 0 2132032 403276 11852 S 4.305 0.613 1997:08 java
336249 ossuser 20 0 1699348 1.125g 12924 S 4.305 1.792 2015:56 java
345407 ossadm 20 0 1516456 216484 11476 S 4.305 0.329 1369:58 java
154294 dbuser 20 0 54212 11708 3064 S 3.974 0.018 1753:38 redis-server
1710 root 20 0 1307712 46436 18056 S 3.642 0.071 5762:35 messageservice
……
……
……
kill "进程号"
killall支持通过进程名终止进程,支持名称通配符
如:killall ftp* 会终止所有以ftp开头的进程。