top命令
· 使用该命令可以查看CPU、内存的使用情况,类似Windows的任务管理器。
· 默认每5秒刷新一次,按q或ctrl+c退出。
· 语法
top
· 例子
· 接下来详细介绍里面每一行代表的意思。
· 第一行:top-命令名称;16:22:32-当前系统时间;up 18 min-启动了18分钟;2 users-共2个用户登录;load average-分别是1、5、15分钟的平均负载。
负载可以理解a为:如果是1就是1颗CPU在100%繁忙,如果是4就是4颗CPU在100%繁忙。
· 第二行:tasks-进程总数;1 running-共1个进程运行中;207 sleeping-共207个进程休眠中;0 stopped-共0个进程停止;0 zombie-共0个僵尸进程。
sleep进程指的是等待某一个任务的进程,如某个进程正在等待打印机的使用,它就处在sleep中。
stopped进程指的是已被停止执行的进程,但是之后仍可恢复运行。
zombie进程指的是已经完成任务的进程,但仍占用系统资源,无法被恢复执行,通常情况下僵尸进程会读取其父进程状态后被清理。
· 第三行:%Cpu(s)-CPU使用率;us-用户CPU使用率;sy-系统CPU使用率;ni-高优先级进程占用CPU时间百分比;id-空闲CPU率;wa-IO等待CPU占用率;hi-CPU硬件中断率;si-CPU软件中断率;st-强制等待占用率。
硬件中断指的是由硬件发出的中断,如时钟中断(实现进程调度)。软件中断通常为了获取系统调用,从用户态转换到内核态。
· 第四、五行:KiB Mem-物理内存;total-总量;free-空闲;used-已使用;buff/cache-buffer或cache占用的内存;Kib Swap-虚拟内存(交换内存)。
· 接下来详细介绍下面的进程表格每一列代表的意思。
· PID-进程id;USER-进程所属用户;PR-进程优先级,越小越高;NI-nice值,取值范围-19到+20,越小进程的优先级越高,进程总优先级=PR+NI,总优先级越小,越早执行;
· VIRT-进程使用的虚拟内存,单位KB;RES-进程使用的物理内存,单位KB;SHR-进程使用的共享内存,单位KB;S-进程状态,S休眠/R运行/Z僵尸/N负优先级/I空闲;%CPU-进程的CPU占用率;
· %MEM-进程的内存占用率;TIME+-进程使用CPU时间总计,单位10毫秒;COMMAND-进程的启动命令或路径。
top命令的选项
· top命令也支持了很多选项。
· 选项-p,只显示某个进程的信息,下列例子展示了只显示PID为1的进程信息:
top -p 1
· 选项-d,设置刷新时间,默认是5s,下列例子展示了设置刷新时间为10s:
top -d 10
· 选项-c,显示产生进程的完整命令,默认是进程的名字
top -c
· 选项-n,指定刷新次数,到达该次数后自动退出,如以下例子设置刷新3次:
top -n 3
· 选项-b,以非交互非全屏模式运行,以批次的方式执行,一般配合-n指定输出几次统计信息,然后将输出重定向到指定的文件,如:
top -b -n 3 > top.tmp
代表运行3次top,然后把每一次的结果写入该目录下的top.tmp文件中,完成后使用vim可以查看:
· 选项-i,不显示任何限制(Idle)或无用的进程:
top -i
· 选项-u,查找特定用户启动的进程:
top -u 用户名
top的交互式选项
· 当top以交互式运行,即非-b选项启动时,可以用以下交互式命令进程控制。
df命令、iostat指令
· 使用该命令,可以查看磁盘的使用情况。
· 语法
df [-h]
· 选项-h,是否以更加人性化的单位显示。
· 如下例子直接使用df命令:
· 加上-h选项可以看得更舒服:
· 使用iostat指令也可以查看CPU、磁盘的相关信息。
· 语法
iostat [-x] [num1] [num2]
· 选项-x表示是否显示更多信息。
· 数字num1表示刷新间隔,num2表示刷新几次。
· 如下例子直接使用iostat命令:
· 其中tps代表每秒传输次数(transfer per second),一次传输的意思是一次I/O请求。
· 下列例子加上选项-x可以看到更多信息:
sar命令
· 使用该命令可以查看网络的相关统计(该命令非常复杂,这里仅简单用于统计网络)。
· 语法
sar -n DEV num1 num2
· 选项-n,表示要查看网络相关统计。
· DEV表示要查看网络接口。
· num1是刷新间隔,不填就查看一次就结束;num2是查看次数,不填就是无限次数。