进程管理
1.ps
[root@mmm ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 126048 2404 ? Ss 10:20 0:00 /usr/lib/systemd/systemd --switched-root --system --deseria
root 2 0.0 0.0 0 0 ? S 10:20 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 10:20 0:00 [kworker/0:0H]
- USER 该进程属于的用户
- PID 该进程的进程号
- %CPU 该进程使用掉的CPU资源百分比
- %MEM 该进程占用的物理内存百分比
- VSZ 该进程使用掉的虚拟内存量(单位Kbytes)
- RSS 该进程占用的固定的内存量(单位Kbytes)
- TTY 该进程是在哪个终端机上面运作的,若与终端机无关,则显示?,另外, tty1-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程
- STAT:该进程目前的状态,主要的状态包括
- R 运行状态
- S 可中断睡眠
- T 进程被暂停
- D 不可中断睡眠
- Z 僵尸进程:子进程比父进程先结束,父进程没有回收子进程,释放子进程的资源,这时候子进程就是个僵尸进程
- 状态符号:
- s 控制进程
- < 进程运行在高优先级
- N 进程运行在低优先级
- + 当前进程运行在前台
- | 多线程进程
- 状态符号:
ps:pstree 查看主进程及其子进程
- ps -eo 自定义显示内容(加–sort +/-列属性,将值大的在尾部显示方便查看)
- ps -eo “%C : %p : %z : %a” --sort -vsz
- ps -eo “%C : %p : %z : %a” --sort +%cpu
- ps -eo “%C : %p : %z : %a” --sort +pid
2.top
top - 11:37:47 up 1:17, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 93 total, 1 running, 92 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1863012 total, 1194608 free, 200360 used, 468044 buff/cache
KiB Swap: 3145724 total, 2521280 free, 624444 used. 1152940 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1069 root 20 0 561112 6100 464 S 0.7 0.3 0:11.81 containerd
1 root 20 0 126048 2404 1360 S 0.0 0.1 0:00.97 systemd
- 第一行:系统当前时间 系统运行时间 当前登录用户数 平均负载
- 第二行:总进程数 正在运行的进程数 正在睡眠的进程数 停止的进程数 僵尸进程数
- 第三行:用户占用cpu的百分比 内核占用cpu的百分比 用户改变过优先级的进程占用cpu的百分比 空闲cpu的百分比 IO等待占用cpu的百分比 硬中断占用cpu的百分比 软中断占用cpu的百分比
- 第四行:物理内存总量 空闲内存总量 使用的物理内存总量 缓冲/缓存的总量
- 第七行:进程id 进程所有者 进程优先级 nice值(负值表示高优先级,正值表示低优先级) 进程使用的虚拟内存总量 进程使用,未被交换出的物理内存大小 共享内存大小 进程状态 上次更新到现在cpu时间占用百分比 进程使用的物理内存百分比
- 命令参数:
- h 查看帮助
- 1 数字1,显示所有cpu核心的负载
- z 高亮显示数据
- b 高亮显示处于R(正在运行)状态的进程
- M 按内存使用百分比排序输出
- P 按cpu使用百分比排序输出
- q 退出top
3.杀进程
- kill
- -9 进程号 ##强制杀死进程,尽量不用
- -1 -HUP 加载服务的配置,主进程不回重新启动,但是子进程会被干掉,重新拉起子进程
- killall
- -9 进程名 ##强制杀死进程,尽量不用
- pkill 进程名
ps1:当正常方法无法停止的时候,使用。
ps2:有重要数据的服务,例如:数据库,尽量不用-9强制杀死进程
优雅重启
- centos7:systemctl reload service
- centos6:service xxx reload
开机自启动
- 开机自启动
- centos 6:chkconfig sshd on
- centos 7:systemctl enable sshd.service
- 禁止开机自启动
- centos 6:chkconfig sshd off
- centos 7:systemctl disable sshd.service
- 检查哪些服务开机自启动:
- centos 6:chkconfig --list
- centos 7:systemctl list-unit-files