查看进程
静态查看:
1)ps aux #列出所有进程
2)ps -ef #显示所有进程的UID,PPIP,C与STIME栏位
动态查看:top
top -d 1 #1秒刷新一次;
top -p PID1,PID2,PID3…… #查看指定进程;
top -u jack #查看指定用户的进程;
top - 23:53:41 up 1:50, 2 users, load average: 0.37, 0.84, 0.49 #系统启动时长,当前登录用户数,1,5,15分钟负载值;
Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie #总任务数,运行任务数,睡眠中任务数,停止的任务数,僵死的任务数;
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st #CPU使用时长
KiB Mem : 995924 total, 281496 free, 203068 used, 511360 buff/cache #内存使用情况:总大小,剩余可用大小,已用大小,
KiB Swap: 1257468 total, 1256692 free, 776 used. 627912 avail Mem #交换空间使用情况:总大小,剩余,已用,
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND #PID值 PR值
7300 root 20 0 0 0 0 S 0.3 0.0 0:09.14 kworker/1:3
1 root 20 0 193616 5648 3064 S 0.0 0.6 0:02.68 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:18.32 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:01.71 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:05.34 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
使用信号控制进程
发送进程控制信号:
```
kill -l
``` #列出所有支持的信号编号、信号名
常用信号如下:
编号 | 信号名 | 含义 |
---|---|---|
1 | SIGHUP | 重新加载配置 |
2 | SIGINT | 键盘终端,等同于ctrl+c |
3 | SIGQUIT | 键盘退出 |
9 | SIGKILL | 强制终止 |
15 | SIGTEAM | 终止,正常结束,默认信号 |
18 | SIGCONT | 继续 |
19 | SIGSTOP | 停止 |
20 | SIGTSTP | 暂停,等同于ctrl+z |
应用
kill -1 pid值 # 重启指定PID值得进程,等效于:systemclt restart 进程名;
管理进程Nice值:
常规系统上运行的大多数程序,使用的调度策略为:SCHED_OTHER。
SCHED_OTHER调度策略,运行进程的相对优先级,称为进程的nice值。
- 值范围,从小到大,一般有40个级别:-20~+20。
- 值越小,优先级越高,-19比+19优先级高。
- top命令中的PR值,即nice值。
查看进程的nice级别:
- top命令查看
NI实际nice级别;PR将nice级别显示为映射到更大优先级队列。 - ps命令查看
ps axo pid,command,nice --sort=-nice
启动具有不同nice级别的进程
进程启动时,通常会继承父进程的nice级别,默认为0
nice -n 级别 进程名
nice -n -20 systemctl start httpd #以-20级别启动httpd服务;
ps axo pid,command,nice,cls |grep httpd #查看httpd服务运行情况。
更改现有继承ncie级别
- 使用top命令:r 调整进程的优先级
- 使用shell更改nice级别:
renice -20 10089 #将PID=1089的进程优先级调整为-20