一.linux系统上如何查看进程信息
1.静态
ps查看静态的进程信息
-a 显示当前终端上所有进程,包括其他用户的进程
-u 列出该进程所属用户
-x 显示详细信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.7 0.3 19664 11904 ? Rs 10:43 0:01 /lib/systemd/systemd --system --deserialize 118 splash
1.pid:进程的pid号,进程号,每个程序的进程号都是唯一的
2.STAT:进程的状态
S:休眠状态,运行完毕之后进入待机时间,需要被运行会立刻唤醒
R:进程在运行
T:该进程处于停止状态
D:不可中断的休眠状态
Z:僵尸进程,父进程已终止,子进程还在运行
I:表示进程处于空闲状态
s:表面该进程有子进程
+:进程在前台运行
l:子进程当中的线程
<:该进程执行的优先级更高
N:该进程执行的优先级较低
ps -elf
-e 显示系统内所有进程信息
-l 详细展示进程的信息
-f 完整的格式展示进程的信息
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 41980 ep_pol 15:14 ? 00:00:03 /sbin/init splash
PPID:显示该进程的父进程
c:进程生命周期中cpu的利用率
总结:ps -aux 更适用查看进程占用的系统资源情况
ps -elf 更适用查看系统中的详细信息
问题1:怎么查看一个进程在系统中的资源占用情况,以及占用cpu/内存过高,处理方法
第一步:ps -aux定位找到这个进程
第二步:ps -elf | grep id号查询他的详细信息
第三步:根据情况来进行处理
第四步:kill -9
问题2:僵尸进程该如何处理
僵尸进程占用系统的资源很小,完全可以忽略不记
僵尸进程无法用kill杀死,强制也不行
重启(处理办法)
2.动态
top动态查看进程信息
任务: 304 total, 1 running, 303 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3868.6 total, 1445.8 free, 1012.5 used, 1410.3 buff/cache
MiB Swap: 3898.0 total, 3898.0 free, 0.0 used. 2596.4 avail Mem
load average 系统的平均载荷,单位时间系统处理的任务数
%cpu:系统cpu的使用情况
us:用户占用cpu的情况
sy:内核占用cpu
ni:优先级调度占用cpu的百分比
id:系统空闲cpu的百分比
wa:磁盘读写性能
hi:一分钟内系统进程占用cpu的百分比
si:5分钟内系统进程占用cpu的百分比
st:15分钟内系统进程占用cpu的百分比
top -b -n 1 运行一次就退出,相当于静态展示
二.系统五大负载指标
1.cpu
监控cpu的指标:top htop
2.内存
监控内存:free top 清理缓存:echo 1> /proc/sys/vm/drop-caches
3.磁盘负载
监控磁盘的读写:iostat
4.网络负载
监控网络带宽
5.进程负载
查看系统进程占用cpu,内存,磁盘,网络
三.命令
1.pgrep
根据进程的名称查看id号
选项
-a 显示进程的详细信息和pid号
-c 仅显示进程的数量
-f 匹配进程名
2.jobs
用于列出后台运行进程的信息
选项
-l 显示所有后台进程的pid号
-n 仅显示最近 的后台信息
-r 仅显示正在运行的后台进程
-s 仅显示已停止的后台进程
3.pstree
查看进程所属线程
选项
-u 显示线程的用户
-p 显示线程的pid号
四.定时任务
所有定时任务都是后台运行
1.时间表示
ctontap
* * * * *
分 时 日 月 周
分:0-59
时:0-23
日:1-31
月:1-12
周:0-7(0和7都可以表示星期天)
2.创建定时任务
crontab -e
选项
-u 指定用户,默认当前用户
-r 清空定时任务(千万不要用)
-l 查看定时任务
3.注意
在创建定时脚本的时候,一定要是绝对路径,且要给运行权限