目录
例如:当天的20:30自动在opt目录中创建一个a.txt文件
load average: 0.00, 0.01, 0.05
系统平均负载 1分钟 5分钟 15分钟
查看 load average 的命令有:
top w uptime
load average 的值在什么情况可认为是异常的?
当平均负载长时间高于CPU数量的70%时
load average 平均负载高时可能是CPU密集型进程多导致,也可能是I/O繁忙导致。
查看系统指标
CPU
top vmstat sar htop atop
内存
free -m vmstat sar top cat /proc/meninfo
IO
iostat(磁盘级别) iotop(进程级别) vmstat(系统级别) atop sar
磁盘容量
df -h du
进程
ps top htop atop pidstat
网卡流量
ifconfig iftop atop cat /proc/net/dev
yum在线源安装
yum install -y epel-release
yum install -y htop atop iotop iftop
查看进程信息
ps aux
a:显示现行终端下的所有进程,包括其它用户的进程。
u:显示进程的归属用户及内存的使用情况。
x:显示所有终端的进程。
h:不显示标题列。
ps -elf
-e:显示系统内的所有进程信息。
-l:使用长格式显示进程信息。
-f:使用完整的格式显示进程信息。
-a:显示现行终端下的所有进程。
-T:查看线程信息。
-C <进程名称>:显示指定进程名的信息。
-p <进程pid>:显示指定pid的进程的信息。
-H:显示树状结构,表示进程间的相互关系。
--no-headers:不显示标题列。
各列的解释:
F:内核分配给进程的系统标记。
S:进程的状态。
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
C:进程生命周期中的CPU利用率。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI:谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。
TIME:运行进程需要的累计CPU时间。
CMD:进程的启动命令。
ps -lf -T -p <PID>
ps -T -p <pid> 查看指定进程中已经起的线程
查看指定进程中的线程信息
ps -L <pid>
top
top -H -p <PID>
根据特定条件查询进程PID信息
pgrep -l <关键词> -U <用户名> -t <终端>
查看进程树
pstree -aup [用户名]
进程状态:
D:不可中断的休眠状态
S:可被唤醒的休眠状态
R:正在运行状态
T:停止状态
Z:僵死状态
运行进程:
前台运行:
在命令行输入命令,直接运行
后台运行:
在命令末尾追加 & 符号。默认情况下通过追加 & 后台运行的进程会随着终端的关闭而自动退出,
可在命令开头位置添加 nohup(格式为nohup 命令 &),可实现后台运行的进程不会随着终端的关闭而自动退出
进程前后台调度
ctrl + z #将前台进程挂起暂停并调入到后台
jobs -l #查看挂起调度到后台的进程列表和序号
fg <序号> #将挂起到后台的进程调度到前台继续运行
终止进程
kill <PID>
killall <进程名>
pkill <关键词> -U <用户名> -t <终端>
kill是如何杀掉进程的?
向进程发送信号的方式杀掉进程
kill 默认选项为 -15 ,发送信号 SIGTERM,表示告诉进程自行停止运行并退出,进程可以忽略
kill -9 ,发送信号 SIGKILL,表示进程要立即退出,且不能被捕捉或忽略
kill -3 ,发送信号 SIGQUIT,表示进程自行退出,并打印进程各个线程的堆栈信息,保存路径为 /proc/${pid}/cwd,文件名为 antBuilderOutput.log
kill -1 ,发送信号 SIGHUP,表示进程重新加载配置文件,不退出
一次性计划任务
at HH:MM [yyyy-mm-dd] --> 输入命令列表 --> ctrl + d 提交任务 --> atq 查看没执行的任务列表和序号 --> atrm <序号> 删除指定的任务
例如:当天的20:30自动在opt目录中创建一个a.txt文件
在2024年4月19号自动创建一个名为xy101的目录
周期性计划任务
确保开启 crond 服务
crontab -e [-u 用户] --> 自动对应文件 /var/spool/cron/用户名
分 时 日 月 周 执行命令或脚本路径
分 0 ~ 59
时 0 ~ 23
日 1 ~ 31
月 1 ~ 12
周 0 ~ 7 , 0 和 7 都代表 周日
* 任意时间点
, 多个不连续的时间点
- 连续的时间点
/ 间隔的时间频率
例子
crontab -l [-u 用户] #查看计划任务列表
crontab -r [-u 用户] #清空任务列表