htop,glances,dstat命令简单使用

 

  CPU中存在着有两种指令,分别是特权指令和普通指令;特权指令是只有内核才有操作特权指令的权力,特权指令用于总线控制、IO控制、内存设备控制、CPU控制和磁盘读写控制;普通指令是应用程序发的。

  特权指令是工作于内核模式中,而普通指令是工作于用户模式。当一个应用程序要使用特权指令时,就需要通过系统调用(system call),此时会触发一次软中断。

  进程是有优先级的,优先级一共有140个数字从0-139,其中1-99为实时优化级,数字越大优先级越高;100-139为动态优先级,数字越小,优先级越高。

  进程在执行过程中有很多种变化,不同的变化代表不同的状态,进程的状态有:就绪态、运行态、睡眠态(可中断睡眠、不可中断睡眠)、停止态、僵死态。

   Linux系统运行中所有与内核相关的信息都存放在/proc伪文件系统中,每个进程都有一个以其PID命名的子目录,每个子目录中有许多目录或文件存放与进程相关的状态信息。

 

htop命令:

   htop命令是一个交互式的命令,它是用来取代top命令的,支持top命令的所有功能,如CPU利用情况,内存使用情况,进程状态等等。

   htop的安装介绍使用yum命令进行安装,不过要把yum源指向epel

   epel镜像地址:http://mirrors.fedoraproject.org/publiclist/EPEL/

 

1)安装完htop后直接在命令行运行htop命令,将会出现以下的界面,是不是很好看呀!!!

                             htop,glances,dstat命令使用_第1张图片

  注意:htop默认是按占用CPU百分比进行排序的,可以使用按“M”来以使用内存百分比排序,“T”是以占用CPU累积时长排序,“P”是以占用CPU百分比进行排序。

2)使用“u”来显示指定用户的进程

  在左边列出了当前系统所有以用户身份运行的用户名,使用上下方向键来选择相应的用户,然后回车即可。

 htop,glances,dstat命令使用_第2张图片

3)查看当前系统上某进程所发起的系统调用

  如果要查看进程所发起的系统调用情况,可以使用字母“s”,在进程列表中使用上下方向键来选择相关的进程,如我们要查看/sbin/init进程所发起的系统调用。如果查看完以后想退出此界面,使用Esc键即可。

htop,glances,dstat命令使用_第3张图片

4)查看某进程所打开的文件

  当我们要知道某个进程打开了哪些文件时,选择相应的进程,使用字母“l”键来查看,退出此界面按Esc键。如果一屏无法显示完所有的信息进,使用PgUPPgDn键进行翻屏。

htop,glances,dstat命令使用_第4张图片

 

glances命令

   glances命令是由Python编写的,用于报告统计的CPU,内存,磁盘,进程,挂载,网络状态的。

安装glances命令到官方站点下载:http://nicolargo.github.io/glances/,或把yum源指向epel使用yum命令安装。

命令格式:

   glances  [-bdehmnrsvyz1] [-B bind] [-c server] [-Cconffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-ooutput]

 

(1)      关闭磁盘I/O功能模块

使用glances -d命令选项,进行界面的显示,glances也是一个交互式的界面,可以使用帮助“h”,来更取交互式的帮助。

htop,glances,dstat命令使用_第5张图片

(2)      关闭glances显示的进程列表,使用glances -r命令选项

htop,glances,dstat命令使用_第6张图片

3)关闭网络功能模块,使用glances -n命令选项

htop,glances,dstat命令使用_第7张图片

 

dstat命令

   dstat是一个功能强大的软件,它集合了vmstat, iostat, netstat and ifstat四个工具的功能,可以实时的监控CPU,磁盘、网络、IO、进程、内存等的使用状态情况。

    dstat是一个有很多参数,并支持插件,默认运行dstat是使用的dstat -cdngy参数。

命令格式:dstat [-afv] [options..] [delay [count]]

1)默认参数dstat命令的显示界面,它默认是每一秒刷新一次。有点像ping命令一样,一直显示下去。

htop,glances,dstat命令使用_第8张图片

分别显示了有CPUDiskNetPageSystem信息:

 usr:用户空间的程序占用CPU百分比

 sys:内核空间运行内核中的内核代码占用CPU百分比

 idlCPU空闲百分比

 wai:等待IO完成占据的百分比

 hiq:处理磁盘中断占据的CPU百分比

 siq:处理软件中断占据的CPU百分比

 read:磁盘读出的速率

 writ磁盘写入的速率

 recv:网卡接收的速率

 send:网卡发送的速率

 in:内存页框写的速率

 out:内存页模型读出的速率

 int:系统的中断次数

 csw:上下文切换次数

(2)      显示最占用CPU的进程,使用dstat --top-cpu命令选项

wKiom1Uug6Gyk_LOAAHrSNSzIWU845.bmp

3)查看最占用内存的进程,使得dstat --top-mem命令选项

htop,glances,dstat命令使用_第9张图片

4)显示所有套接字相关的数据,使得dstat --socket命令选项

htop,glances,dstat命令使用_第10张图片

提示:更多的命令选项请man dstat获取帮助。