# fio --name=job1 --rw=read --size=1g --directory=/var --direct=1
(注意: fio 命令并非系统自带的命令,需要手动安装)
# fio --name=job1 --rw=read --size=1g --directory=/var --direct=1
(注意: fio 命令并非系统自带的命令,需要手动安装)
1) /etc/init.d/boot.local
2) /etc/init.d/halt.local
3) /etc/init.d/before.local
4) /etc/init.d/after.local
(
补充:
1) 其中的 boot.local 是在刚开机时,在所有其他的程序执行前执行的文件
2) 其中的 after.local 是在刚开机后,在所有其他的程序执行后执行的文件
)
(注意:上面第三和第四个档案默认是不存在的,可以自己创建一个, 就像写个 shell 一样很简单)
# vim /etc/init.d/after.local
创建以下内容:
sudo systemctl restart httpd
(补充:这里以开机自启 httpd 程序为例)
# chmod u+x /etc/init.d/after.local
# top
top - 14:16:16 up 6 days, 20:52, 4 users, load average: 0.00, 0.00, 0.00
Tasks: 393 total, 1 running, 392 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 5848752 total, 5709944 used, 138808 free, 4960 buffers
KiB Swap: 2103292 total, 0 used, 2103292 free. 4507072 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8 root 20 0 0 0 0 S 0.332 0.000 2:12.60 rcu_sched
716 z0042h2+ 20 0 15484 2840 2132 R 0.332 0.049 0:00.09 top
31993 root 20 0 0 0 0 S 0.332 0.000 0:00.08 kworker/u32:2
1 root 20 0 189604 5892 4120 S 0.000 0.101 2:35.86 systemd
2 root 20 0 0 0 0 S 0.000 0.000 0:00.72 kthreadd
4 root 0 -20 0 0 0 S 0.000 0.000 0:00.00 kworker/0:0H
1) 前 5 行是整体的统计信息
2) 后面的是具体的进程信息
1) 14:16:16 系统当前时间
2) 20:52 系统运行了多久
3) 4 users 系统当前登录用户数
4) load average: 0.00, 0.00, 0.00 系统平均负载
(
补充:
1) 其中的三个数值分别代表:1,5,15 分钟的系统平均负载
2) 单核 CPU 的情况下:0.00 代表 0 负载,1.00 代表满载,超过 1 代表超负荷
3) 理想情况是:CPU 的核心数 * 0.7 = 整个系统的理想负载
)
1) Tasks: 393 total 总进程数
2) 1 running 正在运行的进程数
3) 392 sleeping 睡眠进程数
4) 0 stopped 停止进程数
5) 0 zombie 僵尸进程数
(
注意:
1) 这一行默认是所有 CPU 核心加在一起的平均值,如果有 1 个核心那满值就是 100%,如果有 5 个核心那总值就是 500%
2) 如果此时输入数字 1 ,则可以切换至每个单核 CPU 的负载情况,再输入数字 1,则可以再切换回来
)
1) 0.0 us 用户空间占用 CPU 的百分比
2) 0.0 sy 内核空间占用 CPU 的百分比
3) 0.0 ni 非实时的进程的优先级,取值范围为从 -20 到 19,数值越小优先级越高
4) 100.0 id 空闲的 CPU 的百分比
5) 0.0 wa CPU 等待输入输出的时间百分比
6) 0.0 hi 服务因硬件中断所消耗的时间百分比
7) 0.0 si 服务因软件中断所消耗的时间百分比
8) 0.0 st 虚拟机被物理机偷去的 CPU 时间百分比
1) 5848752 total 总物理内存量
2) 5709944 used 已经使用的物理内存量
3) 138808 free 剩余的物理内存量
4) 4960 buffers 用作内核缓存的内存量
1) 2103292 total 总交换分区量
2) 0 used 已经使用的交换分区量
3) 2103292 free 剩余交换分区量
4) 4507072 cached Mem 用作缓存的交换分区量
(
补充:
1) 此时按下 “f” 键可以选择要显示的信息
2) 此时按下 “方向” 键翻看想查阅的内容
3) 此时按下 “s” 键可以开启显示这一信息
4) 此时按下 “d” 键可以关闭显示这一信息
4) 带 * 号的是已经选择要显示的信息
)
1) PID (Process Id) 进程的 id
2) USER (User Name) 进程所有者的用户
3) PR (Priority) 优先级
4) NI (Nice value) nice 值(负值表示高优先级,正值表示低优先级)
5) VIRT ( Virtual Image (kb) ) 进程使用的虚拟内存量,单位 kb
6) RES ( Resident size (kb) ) 进程使用的、未被换出的物理内存大小,单位 kb
7) SHR (Shared Mem size (kb) ) 共享内存大小,单位 kb
8) S (Process Status) 进程状态,可以为 D R S T 和 Z
(补充:D 表示不可中断的睡眠状态,R 表示运行,S 表示睡眠,T 表示跟踪/停止,Z 表示僵尸进程)
9) %CPU (CPU usage) 上上次更新到上次更新时进程 CPU 占用平均百分比
(注意:此值可能会超过 100% ,但不会超过:CPU 总核心数 * 100% )
10) %MEM ( Memory usage (RES) ) 上上次更新到上次更新时进程使用的物理内存百分比
11) TIME+ ( CPU Time, hundredths ) 进上上次更新到上次更新时进程使用 CPU 的总时间,单位 1/100 秒
12) COMMAND (Command name/line) 命令名或命令行 (命令和选项)
1) -b 以批处理模式执行命令
2) -c <command> 在执行了 top 命令之后再直接执行交互命令
3) -d <time> 屏幕刷新间隔时间
4) -i 忽略僵尸进程
5) -s 以安全模式执行命令
6) -S 以累积模式执行命令
7) -i <时间> 设置间隔时间
8) -u <用户> 指定只显示某个用户的进程
9) -p <进程号> 指定只显示某个 PID 的进程
10) -n <次数> 指定显示循环的次数
按 “h” 显示帮助
1) 按下 “k” 键再按下 “<pid>” 再按下 “<回车>” 键,将某个 pid 为 <pid> 的进程删除
2) 按下 “r” 键再按下 “<ni>” 再按下 “<回车>” 键,将某个进程的 ni 设置为 <ni>,取值范围为从 -20 到 19,数值越小优先级越高
(注意:只有 root 的取值范围才是 -20 到 19 ,普通用户的取值范围是 0 到 19)
3) 按下 “esc” 键,退出 top 命令当前的子状态,如果没有子状态则不退出
4) 按下 “q” 键,退出 top
1) 按下 “d” 键再按 <number> 再按下 “回车” ,将刷新频率修改为 <number> 秒
2) 按下 “s” 键再按 <number> 再按下 “回车”,将刷新的延迟时间修改为 <number> 秒 (默认是 5S)
3) 按下 “n” 键再按 <number> 再按下 “回车”,将显示的行数修改为 <number> 行 (默认显示能满屏的行数)
4) 按下 “f” 键,选择要显示的信息
5) 按下 “i” 键,不显示闲置和僵死进程,再按下 “i” 键会取消
6) 按下 “S” 键,切换到累积模式,再按下 “S” 键会取消
7) 按下 “l” 键,隐藏第 1 行总负载信息,再按下 “l” 键会取消
8) 按下 “t” 键, 隐藏第 2~3 行 CPU 信息,再按下 “t” 键会取消
9) 按下 “m” 键,隐藏第 4~5 行内存信息,再按下 “m” 键会取消
10) 按下 “1” 键,显示 CPU 所有核心的信息,每核显示 1 行,再按下 “1” 键会取消
1) 按下 “M” 键,根据使用内存的大小进行排序
2) 按下 “P” 键,根据使用 CPU 的大小进行排序
3) 按下 “T” 键,根据开启的时间进行排序
# top -bn 1
# top -bn 1 -i -c