目录
一、进程
1.程序:用于描述程序要完成的功能,是控制进程执行的指令集
2.进程:是程序的副本
3.全生命周期:进程产生,运行消失
4.线程工作,进程A负责下发任务,存储一些共享的资源
5.怎么确定一个线程是多线程还是单线程
使用grep -i threads /proc/进程的pid/status 来查看是单线程还是多线程
prtstat 进程号 查看进程的详细信息
6.内存不足:OOM
7.pmap 进程id 详细了解该进程在内存中的资源信息
8.进程状态
创建状态、就绪状态、执行状态、阻塞状态、终止状态
9.解决僵尸进程的办法
使用kill -9 杀死父进程,如果不行,可以重启
kill -l 查看信号种类
killall 终止全部进程
kill -18 恢复
kill是用来传递信号不是直接杀死
10.lock对资源上锁,如果资源被锁,其他进程修改或读取都不行,只能等锁解开。
11.守护进程:daemon,在系统引导过程中启动的进程
12.前台进程:跟终端相关,通过终端启动的进程
两者可以转化
13.进程的启动方式分为前台启动和后台启动
将前台任务放入后台执行 命令后加&符
查看后台运行的命令 jobs
把后台运行的命令调回前台 fg 序号 如fg 1
再调回后台并挂起使用 ctrl + z
再继续后台命令 bg 序号 如 bg 1
14.扩展知识
lsof 列举被打开的文件
pstree [选项]
-p 显示进程树并显示进程号
pidof 查看pid号
echo 3 > /proc/sys/vm/drop_caches 清除缓存
echo " " > bigfile 把空间释放(把文件变为一个空格大小)
二、五大性能
1.内存
free [选项]
-h 人性化显示
top [选项]
-d 指定几秒刷新一次,不加默认3秒
-b 使用批处理模式输出
-n 指定次数
-p 指定pid的进程
-s 安全模式
-u 指定用户名
2.cpu
top 命令
ps aux
ps [选项]
选项
a 显示当前终端下的所有进程信息,包括其他用户进程
u 使用以用户为主的格式输出进程信息
x 显示当前用户在所有终端下的进程信息
-e 显示系统内的所有进程信息
-l 使用长格式显示进程信息
-f 使用完整格式显示
o 属性 选项显示指定的信息如pid,cmd,%cpu,%mem
k 对属性排序,属性前加一表示倒序
3.磁盘大小
lsblk [选项]
磁盘剩余量
df [选项]
-h 人性化
4.磁盘读写性能
iostat 详细的查看磁盘读写性能
-c 只显示cpu行
-d 显示设备(磁盘)使用状态
-k 以千字节为单位显示
-t 在输出中包括时间戳
-x 在输出中包括扩展的磁盘指标
dd 命令
dd if=原目录 of=要处理的目录 count=次数 bs=大小
vmstat 监控系统资源,虚拟资源
5.网络
dstat 系统资源统计
iftop [选项]监视网络流量
-i 指定网卡
三、计划任务
1.一次性计划任务
at [选项] [时间]
时间格式HH:MM
ctrl+d提交
2.周期
crontab 命令
crontab [选项]
-l 查看用户的crontab文件内容
-u 指定用户
-e 编辑某个用户的crontab文件内容
-i 删除用户的crontab文件时,给出提示
-r 从/var/spool/cron删除某用户的crontab文件,如果不指定用户,默认删除当前用户的crontab文件
crontab -e 编辑一个定时任务
上面代表每两分钟复制/etc/passwd 到/opt/下面
*分 *时 *日 *月 *周 执行的操作(命令,最好使用绝对路径)
分0-59
时0-23
日1-31
月1-12
周0-7(0和7代表周日)