0.1查看当前系统进程状态
ps
:查看当前系统中正在执行的各种进程的信息
[root@hadoop100 ~]# ps
PID TTY TIME CMD
3232 pts/0 00:00:00 bash
3940 pts/0 00:00:00 ps
常用方式1:ps aux
参数说明:
- a:显示当前终端运行的所有的进程信息
- u:以用户的信息显示进程
- x:列出当前用户的所有进程
[root@hadoop100 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 19:36 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 19:36 0:00 [ksoftirqd/0]
root 4 0.1 0.0 0 0 ? S 19:36 0:02 [kworker/0:0]
root 5 0.0 0.0 0 0 ? S< 19:36 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 19:36 0:00 [kworker/u256:0]
显示参数说明:
- USER:哪个用户的进程
- PID:进程的 ID
- %CPU:进程占用 CPU 资源的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用虚拟内存的大小,单位 KB
- RSS:该进程占用实际物理内存的大小,单位 KB
- TTY: 进程是在哪个终端中运行的
- STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
- START:进程的启动时间
- TIME:进程占用 CPU 的运算时间
- COMMAND:产生此进程的命令名
查看某个进程ps aux | grep 进程名字
如查找redis进程
[root@hadoop100 ~]# ps aux | grep redis
systemd+ 3810 0.5 0.3 52964 9880 ? Ssl 20:53 0:00 redis-server *:6379
root 6807 0.0 0.0 112828 968 pts/0 S+ 20:54 0:00 grep --color=auto redis
常用方式1:ps-ef
参数说明:
- e:列出所有进程
- f:显示完整格式的进程列表
[root@hadoop100 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 20:53 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0 0 20:53 ? 00:00:00 [kthreadd]
root 3 2 0 20:53 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 20:53 ? 00:00:00 [kworker/0:0H]
root 7 2 0 20:53 ? 00:00:00 [migration/0]
root 8 2 0 20:53 ? 00:00:00 [rcu_bh]
显示参数说明:
- UID:用户 ID
- PID: 进程 ID
- PPID: 父进程 ID
- C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY: 完整的终端名称
- TIME:CPU 时间
- CMD:启动进程所用的命令和参数
查看某个进程ps -ef| grep 进程名字
如查找redis进程
[root@hadoop100 ~]# ps -ef | grep redis
systemd+ 3810 3726 0 20:53 ? 00:00:00 redis-server *:6379
root 8855 3232 0 20:56 pts/0 00:00:00 grep --color=auto redis
0.2杀掉某个进程
kill -9 进程号 :通过进程号杀死进程
[root@hadoop102 redis-5.0.8]# ps -ef| grep redis
root 10622 1 1 22:44 ? 00:00:00 src/redis-server *:6379
root 10729 9073 0 22:45 pts/0 00:00:00 grep --color=auto redis
[root@hadoop102 redis-5.0.8]# kill -9 10622
[root@hadoop102 redis-5.0.8]# ps -ef| grep redis
root 11225 9073 0 22:45 pts/0 00:00:00 grep --color=auto redis
0.3查看进程树
pstree [(可选可不选)选项]
- -p:查看进程的 PID
- -u:查看进程的所属用户
[mhzzj@hadoop102 ~]$ pstree -up
systemd(1)─┬─ModemManager(706)─┬─{ModemManager}(729)
│ └─{ModemManager}(744)
├─NetworkManager(747)─┬─{NetworkManager}(771)
│ └─{NetworkManager}(777)
├─abrt-dbus(36483)─┬─{abrt-dbus}(36484)
│ └─{abrt-dbus}(36486)
├─sshd(1066)─┬─sshd(36459)─┬─bash(36462)
│ │ ├─bash(36502)───top(36646)
│ │ └─bash(38170)───sleep(38180)
│ ├─sshd(36501)─┬─sftp-server(36534)
│ │ ├─sftp-server(36544)
│ │ ├─sftp-server(36554)
│ │ ├─sftp-server(36562)
│ │ ├─sftp-server(36570)
│ │ └─sftp-server(36578)
│ ├─sshd(36743)───sshd(36746,mhzzj)─┬─bash(36748)───pstree(38181)
│ │ ├─bash(36795)───top(37029)
│ │ └─bash(38145)───sleep(38165)
│ └─sshd(36791)───sshd(36839,mhzzj)─┬─sftp-server(36840)
│ ├─sftp-server(36856)
│ ├─sftp-server(36868)
│ ├─sftp-server(36880)
│ ├─sftp-server(36892)
│ └─sftp-server(36904)
//...
0.4实时监控系统进程状态
基本命令:top [ (可选可不选)选项 ]
选项:
- -d 秒数:命令每隔几秒更新。默认是 3 秒
- -i:不显示任何闲置或者僵死进程
- -p 进程号:通过指定监控进程 ID 来仅仅监控某个进程的状态
输入命令
[root@hadoop100 ~]# top
显示结果:
top - 23:09:55 up 2:16, 3 users, load average: 0.10, 0.12, 0.13
Tasks: 216 total, 1 running, 215 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 1.7 sy, 0.0 ni, 97.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2899484 total, 129232 free, 1877368 used, 892884 buff/cache
KiB Swap: 2097148 total, 2089260 free, 7888 used. 690400 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3971 mhzzj 20 0 4286828 497020 21148 S 1.3 17.1 2:33.18 java
53764 root 20 0 147944 6088 4628 S 1.3 0.2 0:00.30 sshd
3952 mhzzj 20 0 1841840 470280 15648 S 0.7 16.2 1:20.80 node
4809 systemd+ 20 0 2650928 138740 61496 S 0.7 4.8 0:50.60 beam.smp
53901 root 20 0 160796 3136 1596 S 0.7 0.1 0:00.09 top
114 root 20 0 0 0 0 S 0.3 0.0 0:03.41 kauditd
//...
操作
- 这里默认是按照cpu的百分比进行排序,可以点击shift+n,改为按进程号进行排序,转回按cpu百分比进行排序为shift+p;shift+m按内存使用进行排序
- 退出,点击q
- 通过上下左右键进行翻页
显示信息说明
top - 23:09:55 (当前时间) up 2:16(运行时间), 3 users(用户数), load average: 0.10, 0.12, 0.13(前 1 分钟,5 分钟,15 分钟的平均负载)
Tasks: 216 total(进程总数), 1 running(运行的进程数), 215 sleeping(睡眠的进程数), 0 stopped(正在停止的进程), 0 zombie(僵尸进行)
%Cpu(s): 0.7 us( 用户模式CPU 占比), 1.7 sy(系统模式CPU 占比), 0.0 ni(改变过优先级的用户进程的 CPU 占比), 97.7 id( 空闲的 CPU 占比), 0.0 wa(等待输入/输出的进程的CPU 占比), 0.0 hi(硬中断请求服务占用的CPU 占比), 0.0 si(软中断请求服务占用的CPU 占比), 0.0 st(虚拟时间百分比)
KiB Mem : 2899484 total(物理内存的总量), 129232 free(空闲的物理内存数量), 1877368 used( 已经使用的物理内存数量), 892884 buff/cache(作为缓冲的内存数量)
KiB Swap: 2097148 total(交换分区的大小), 2089260 free(空闲交换分区的大小), 7888 used( 已经使用的交互分区的大小). 690400 avail Mem( 作为缓存的交互分区的大小)