查看系统使用情况
df #硬盘
free #内存
top、ps aux #CPU
进程状态
0号进程创建1号2号子进程
1号开头进程用户进程
2号开头进程系统进程
ps aux
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率,指的是实际内存RSS占用率
VSZ: 占用虚拟内存,单位:KB(killo Bytes)
VSZ是指已分配的线性空间大小,这个大小通常并不等于程序实际用到的内存大小,产生这个的可能性很多,比如内存映射,共享的动态库,或者向系统申请了更多的堆,都会扩展线性空间大小。
RSS: 占用实际内存,单位:KB(killo Bytes)
TTY: 进程运行的终端
进程状态 man ps (/STATE)
R 运行
S 可中断睡眠 Sleep,即在睡眠的过程中可以接收信号唤醒=》执行的IO操作可以得到硬件设备的响应
D 不可中断睡眠,即在睡眠的过程中不可以接收信号唤醒=》执行的IO操作得不到硬件设备的响应
T 停止的进程
Z 僵尸进程
X 死掉的进程(几乎看不见,因为死了就立即回收了)
< 标注了<小于号代表优先级较高的进程
N N代表优先级较低的进程
s 该进程包含子进程,该进程自己是整个会话的领导者
+ +表示是前台的进程组
l 小写字母l,代表以线程的方式运行,即多线程
| 管道符号代表多进程
START: 进程的启动时间
TIME: 进程占用CPU的总时间
COMMAND: 进程文件,进程名带[]号的代表内核态进程不带[]号的代表用户态进程
补充Centos9中还有一个大写字母I的进程状态
大写字母"I"代表的进程状态是"Idle kernel thread",这意味着该进程是一个空闲的内核线程,不是用户模式下的空闲进程。这个状态通常只应用于内核线程,用户进程通常不会有这个状态。
活着的状态
- 运行、就绪 #R
- 阻塞 #S或D
S:可中断的睡眠(可用Ctrl + c,kill -9 pid命令中止)
D:不可被中止(防止数据丢失的保护机制)
死了的状态
- 僵尸进程 #Z
每个进程死掉之前都会进入僵尸进程的状态
父进程创建子进程后,子进程先于父进程结束运行,且父进程没有及时调用wait或waitpid来收集子进程的退出状态 - 退出的进程 #X(几乎看不到)
暂停状态
kill -SIGSTOP pid号 #暂停进程(T)
kill -SIGCONT pid号 #恢复进程
恢复之后,S+的进程会变成S的进程(前台变后台)