进程操作
进程查看、管理和控制
type
status
date
slug
summary
tags
category
icon
password

一、进程查看
进程(process),系统进行资源分配的最小单位
1、ps命令
aux输出格式
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小(物理内存、共享内存、swap,所有内存总和)
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
- [进程名]:内核进程/系统进程 不能停,不能关
- 进程名 :用户进程
2、查看内存(free)
3、进程状态
cpu按时间切片的方式执行多个进程,进程才会状态之分
R:运行, 就绪
D/S:睡眠,等待IO
IO
IO操作,即输入/输出操作,指的是与外部设备(如硬盘、网络)进行数据交互的过程。由于IO操作通常比CPU运算慢很多,因此在进行IO操作时,进程或线程会被阻塞,进入等待状态,直到IO操作完成才能被唤醒继续执行。
S+: 前台运行 可以ctrl C暂停
S:后台运行 不可以Ctrl C暂停 可以直接kill 干掉
+:前台
异常状态
Z:僵尸状态,子进程销毁时,资源没有被正常回收
T:停止状态
4、查看cpu(lscpu、nproc)
5、查看进程树
二、进程调度/控制
1、控制进程前/后台运行
默认情况下,所有指令都是在前台运行(占着命令提示符 )
2、向进程发送信号
三、计划任务
1、一次性任务
前提:依赖atd服务正常运行
同步系统时间
创建一次性任务
2、周期性任务
前提:依赖crond服务正常运行
创建周期性任务
时间格式
时间设置 | 含义 |
* * * * * | 每分钟执行一次 |
0 * * * * | 每小时的第 0 分钟执行一次 |
0 0 * * * | 每天的午夜(0 点)执行一次 |
0 0 * * 0 | 每周日的午夜(0 点)执行一次 |
0 0 1 * * | 每个月的第一天午夜(0 点)执行一次 |
0 0 L * * | 每个月的最后一天午夜(0 点)执行一次 |
0 0 1 1 * | 每年的第一天午夜(0 点)执行一次 |
0 0 * * 3 | 每周三的午夜(0 点)执行一次 |
0 0 1,15 * * | 每个月的第 1 和第 15 天午夜(0 点)执行一次 |
0 0 * * FRI | 每周五的午夜(0 点)执行一次 |
0 0 * * 5 | 每周五的午夜(0 点)执行一次 |
0 8-17 * * * | 每天的上午 8 点到下午 5 点每小时执行一次 |
0 12 * * MON | 每周一的中午(12 点)执行一次 |
0 0 15 * * | 每个月的第 15 天午夜(0 点)执行一次 |
0 0 * * 3 | 每周三的午夜(0 点)执行一次 |
0 8-17 * * * | 每天的上午 8 点到下午 5 点每小时执行一次 |
0 0 * * 1-5 | 每个工作日的午夜(0 点)执行一次 |
0 0 1 * FRI | 每个月的第一个星期五午夜(0 点)执行一次 |
0 0 1,15 * * | 每个月的第 1 和第 15 天午夜(0 点)执行一次 |
0 0 15 1 * | 每年的 1 月 15 日午夜(0 点)执行一次 |
0 0 * * 7 | 每周日的午夜(0 点)执行一次 |
0 0 * * 5 | 每周五的午夜(0 点)执行一次 |
*/30 * * * * | 每隔半小时执行一次 |
0 10-18/2 * * * | 上午10点到下午6点,每隔两小时执行一次 |
操作注意事项
1、建议写命令的全路径[针对源码软件的命令]
2、%默认识别为命令的结束符,需要转义,\%
- 需求1:每分钟创建测试文件
- 需求2:每分钟同步一次时间
四、性能查看工具
1、TOP
选项
d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。
n <次数>:指定 top 命令运行的次数后自动退出。
p <进程ID>:仅显示指定进程ID的信息。
u <用户名>:仅显示指定用户名的进程信息。
H:在进程信息中显示线程详细信息。
i:不显示闲置(idle)或无用的进程。
b:以批处理(batch)模式运行,直接将结果输出到文件。
c:显示完整的命令行而不截断。
S:累计显示进程的 CPU 使用时间。
- 动态显示进程
M:按内存占比,倒序显示进程
P :按CPU占比,倒序显示进程
任务队列信息
09:10:54 — 当前系统时间
up 1 days, 23:08 — 系统已经运行了1天23小时8分钟(在这期间系统没有重启过的吆!)
2 users — 当前有2个用户登录系统
load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
负载值 ≤ CPU数量 * 2,正常
查看系统负载
Tasks — 任务(进程)
系统现在共有206个进程,其中处于运行中的有1个,107个在休眠(sleep),stoped状态的有1个,zombie状态(僵尸)的有0个。
CPU状态信息
缩写 | 全称 | 含义 | 数值 |
us | user | 用户空间程序占用 CPU 百分比 | 0.0% |
sy | system | 内核空间程序占用 CPU 百分比 | 0.0% |
ni | nice | 低优先级进程占用 CPU 百分比 | 0.0% |
id | idle | CPU 空闲时间百分比 | 100.0% |
指标 | 全称 | 含义 | 数值 |
wa | I/O Wait | CPU 等待 I/O 操作的时间百分比 | 0.0% |
hi | Hardware IRQ | 处理硬件中断的时间百分比 | 0.0% |
si | Software IRQ | 处理软件中断的时间百分比 | 0.0% |
st | Steal Time | 虚拟化环境中被其他虚拟机占用的时间 | 0.0% |
查看CPU数量
按1 可以分别显示每个cpu的占比
内存状态
995672 total — 物理内存总量(32GB)
214672 used — 使用中的内存总量(14GB)
184536 free — 空闲内存总量(18GB)
596464 buffers — 缓存的内存量 (169M)
swap交换分区信息
104872 total — 交换区总量(32GB)
0k used — 使用的交换区总量(0K)
1048572 free — 空闲交换区总量(32GB)
3612636k cached — 缓冲的交换区总量(3.6GB)
cache:缓存,提升数据读性能
buffer:缓冲,提升数据写性能
进程信息
- PID:进程的标识符。
- USER:运行进程的用户名。
- PR(优先级):进程的优先级。
- NI(Nice值):进程的优先级调整值。
- VIRT(虚拟内存):进程使用的虚拟内存大小。
- RES(常驻内存):进程实际使用的物理内存大小。
- SHR(共享内存):进程共享的内存大小。
- %CPU:进程占用 CPU 的使用率。
- %MEM:进程占用内存的使用率。
- TIME+:进程的累计 CPU 时间。
- COMMAND :进程名称(命令名/命令行)
五、性能监控工具vmstat
核心功能
内存监控:显示物理内存和交换空间的使用情况
CPU 使用率:展示用户进程、系统进程和空闲时间的占比
进程状态:报告运行中、等待和阻塞的进程数量
I/O 统计:提供块设备读写操作的详细信息
选项
参数 | 说明 |
-a | 显示活跃和非活跃内存 |
-d | 显示磁盘统计信息 |
-p | 显示指定磁盘分区的统计信息 |
-s | 显示内存相关统计信息的汇总 |
-m | 显示 slab 信息 |
-t | 在输出中增加时间戳 |
-S | 指定单位显示(k/K/m/M,分别代表 1000/1024/1000000/1048576) |
性能参数
- 进程信息 procs r: 运行队列中的进程数量 b: 等待 I/O 的进程数量
- 内存信息 memory swpd: 使用的虚拟内存大小(KB) free: 空闲的物理内存大小(KB) buff: 用作缓冲区的内存大小(KB) cache: 用作缓存的内存大小(KB)
- 交换分区信息 swap si: 每秒从磁盘读入交换区的内存大小(KB/s) so: 每秒写入磁盘的交换区内存大小(KB/s)
- I/O 信息 io bi: 每秒从块设备接收的块数(blocks/s) bo: 每秒发送到块设备的块数(blocks/s)
- 系统信息 system in: 每秒中断数(包括时钟中断) cs: 每秒上下文切换次数
- CPU 使用率 cpu us: 用户进程占用 CPU 时间百分比 sy: 系统进程占用 CPU 时间百分比 id: 空闲 CPU 时间百分比 wa: 等待 I/O 的 CPU 时间百分比 st: 被虚拟机偷取的时间百分比
1、安装stress
2、测试CPU使用率
3、模拟sync()将内存中的数据同步到硬盘
4、测试硬盘IO
5、测试内存分配
6、Linux系统运行模式
Linux系统运行模式:CentOS6.x/5.x
1、运行模式
运行级别 | 描述 | 典型用途 |
0 | 关机 | 系统关机状态 |
1 | 单用户模式 | 系统维护/root权限 |
2 | 多用户模式(无NFS) | 基本多用户模式 |
3 | 完整多用户模式 | 标准命令行界面 |
4 | 保留 | 用户自定义 |
5 | 图形界面模式 | 带GUI的多用户模式 |
6 | 重启 | 系统重启 |
2、查看系统运行模式
- 临时切换
现代Linux系统中的init演变

设置默认运行级别
Loading...