1.top——实时显示系统运行状态top命令的作用是实时显示系统运行状态,包括处理器、内存、服务、进程等重要资源信息等运维工程师经常把top命令比作“增强版的Windows任务管理器”,因为除了能看到一般的服务进程信息外,还能一目了然地看到处理器和内存的负载情况,并且实时感知系统整体情况。非常适合作为接管服务器后执行的第一条命令。动态查看进程信息,可以查看系统负载、内存、CPU等的使用情况。语法格式top[parameter]常用参数参数分析-d改变显示更新速度-c切换显示模式,更详细的显示路径和命令-s安全模式,不允许交互命令-i不显示任何idle或Zombieschedule-n设置总显示次数,完成后自动退出-b批处理模式,无交互显示参考示例默认格式显示系统运行信息:[root@root~]#toptop-02:48:5620分钟,1个用户,平均负载:0.00、0.00、0.04任务:总计432个,1个正在运行,431个正在睡眠,0个已停止,0个僵尸%Cpu(s):0.0us,0.0sy,0.0ni,99.9id,0.0wa,0.0hi,0.0si,0.0sMiB内存:总计1966.1,免费172.1,已使用1339.3,454.7buff/cacheMiB交换:总计2048.0,免费2033.5,已使用14.5。%CPU%MEMTIME+命令2848ROOT200177712288207700S6.21.40:01.31SSSD_KCM1ROOT200244748141809052S0.70:01.10SYSTMD2ROOT2000…00T0…0T0…0information………………以默认格式显示系统运行信息,但要提供完整的进程路径和名称:[root@root~]#top-c批量显示程序信息:[root@root~]#top-b设置每5秒刷新一次信息:[root@root~]#top-c-d5set设置总显示次数到3次,然后自动退出命令:[root@root~]#top-n5fieldanalysisloadaverage:0.00,0.01,0.05系统1分钟,5分钟,15分钟平均负载%Cpu(s):0.0us,0.0sy,0.0ni,100.0id,0.0wa,0.0hi,0.0si,0.0stus用户态CPUsy内核态CPUni优先级idIdleCPUwaCPUhi等待输入输出设备硬中断si软中断st虚拟化CPU资源占用KiBMem:995896total,487280free,121580used,387036totalmemoryspacefreefreememoryusedusedmemorybuffwritebuffer解决空间问题cachereadcache解决速度问题推荐使用top&&top-cII,htop–交互式进程查看器htop是一个用于linux系统的交互式进程查看器,一个文本模式的应用程序(在控制台或X终端中),which要求ncurseshtop更加用户友好。它允许用户交互操作,支持颜色主题,可以水平或垂直滚动??进程列表,支持鼠标操作。与top相比,htop的优点是可以水平或垂直滚动??进程列表,可以看到所有进程和完整的命令行,启动速度比top快,杀进程不需要输入进程号,支持鼠标选择操作。top不再维护。htop相当于top的升级版,监控界面是彩色的。语法格式htop[参数]常用参数非交互模式是在直接输入命令时添加参数,而交互模式是在htop进入监控后使用。非交互参数参数解析-C使用单色配色方案-d设置更新延迟,单位为10微秒-s用户列排序-uUser只显示指定用户的进程-pUser只显示给用户-h打印这条命令help-v打印版本信息交互参数参数解析空格标记一个进程U取消所有标记l显示进程发送的文件u显示具体用户M按内存排序P按CPU排序T按在线时间排序直接输入numbertofind对应的PID进程参考启动htop的例子:[root@root~]#htop以单色模式启动htop:[root@root~]#htop-C设置显示更新延迟为3秒:[root@root~]#htop-d3显示给定用户的进程:[root@root~]#htop-ulinuxcool_user3.vmstat-显示虚拟内存状态vmstat命令的意思是显示虚拟内存状态("虚拟内存统计”),但它可以报告整体健康状况h有关进程、内存、I/O等的系统信息。语法格式vmstat[参数]&&vmstat[参数][时间间隔][执行次数]常用参数参数分析-a显示活动内页-f显示启动后创建的进程总数-m显示slab信息-nheader信息仅显示一次-s以表格形式显示事件计数器和内存状态-d报告磁盘状态-p显示指定硬盘分区状态-S输出信息单位参考示例显示活动内页:[root@root~]#vmstat-a显示boot后创建的进程总数:[root@root~]#vmstat-f显示slab信息:[root@root~]#vmstat-mheader信息只显示一次:[root@root~]#vmstat-n以表格形式显示事件计数器和内存状态:[root@root~]#vmstat-s显示指定硬盘分区的状态:[root@root~]#vmstat-p/dev/sda1指定刷新间隔状态信息为1秒:[root@root~]#vmstat1指定状态信息的刷新间隔为2秒,刷新3次:[root@root~]#vmstat23fieldanalysis[root@root~]#vmstatprocs-----------memory-------------swap-------io-----system--------cpu-----rbswpdfreebuffcachesisobiboincsussyidwast2035896445256520487496271209162221191291271197001.procsr表示等待执行的任务数。瓶颈;b代表等待IO的进程数。2.memoryswpd是虚拟内存的已用大小。如果大于0,说明你的机器物理内存不足。如果不是程序内存泄漏的原因,那么就应该升级内存或者将耗内存的任务迁移到其他机器上;free物理内存的大小;buffLinux/Unix系统用于存储、缓存目录中有什么内容、权限等;cache直接用来记住我们打开的文件,对文件进行缓冲。3.swapsi每秒从磁盘读取虚拟内存的大小。如果这个值大于0,说明物理内存不够或者内存泄露了。需要找到耗内存的进程并解决;so每秒写入磁盘的虚拟内存大小,如果这个值大于0,同上。4.iobi块设备每秒接收到的块数。这里的块设备是指系统中的所有磁盘和其他块设备。默认块大小为1024byte;bo块设备每秒发送的块数。比如我们读一个文件,bo必须大于0,bi和bo一般都接近0,否则IO太频繁,需要调整。5.每秒Systemin中断,包括时钟中断;cs表示每秒上下文切换;这两个值越大,内核消耗的cpu时间就越多。6.cpuus用户CPU时间;sy系统CPU时间,如果太高说明系统调用时间长,比如频繁的IO操作;ididleCPUtime,一般来说,id+us+sy=100,一般我认为id是IdleCPUusage,us是用户CPUusage,sy是系统CPUusage;wa等待IOCPU时间;st是等待IO的CPU时间。4、dstat——全能的系统信息统计工具dstat命令是用来替代vmstat、iostat、netstat、nfsstat和ifstat命令的工具,是全能的系统信息统计工具。与sysstat相比,dstat的界面更加丰富多彩。手动观察性能状态时,数据更显眼,易于观察;dstat支持即时刷新。比如输入dstat3每三秒采集一次,但是最新的数据会每隔一秒刷新一次显示。和sysstat一样,dstat也可以收集指定的性能资源,比如dstat-c可以显示CPU的使用情况。语法格式dstat[参数]常用参数参数分析-c显示CPU系统占用、用户占用、空闲、等待、中断、软件中断等信息-d显示磁盘读写数据大小-n显示网络状态-l显示系统负载status-m显示内存使用情况-g显示页面使用情况-p显示进程状态-s显示swap分区使用情况-rI/Orequest-y系统状态-ipc显示ipc消息队列、信号等信息-socket用于显示tcpudp端口状态参考示例分别显示cpu、disk、net、page、system信息:[root@root~]#dstat每三秒收集一次cpu、disk、net、page、system信息:[root@root~]#dstat3显示CPU系统占用、用户占用、空闲、等待、中断、软件中断等信息:[root@root~]#dstat-c显示磁盘读写数据大小:[root@root~]#dstat-d显示网络状态:[root@root~]#dstat-n五、看一眼-高级多子系统概述Glances是一个相对较新的系统监控工具,用Python编写,使用psutil库从系统中获取信息。您可以使用它来监控CPU、平均负载、内存、网络接口、磁盘I/O、文件系统空间利用率、挂载设备、所有活动进程以及消耗最多资源的进程。Glances有很多有趣的选项。它的主要特点之一是可以在配置文件中设置阈值(小心、警告、严重),然后它会以不同的颜色显示信息以指示系统瓶颈。语法格式glances[参数]常用参数参数解析-b显示网络连接速度Byte/second-s设置glances运行模式为server-b绑定服务器IP地址或主机名-cconnectglancesserver-t设置屏幕刷新时间间隔,单位秒,默认值2秒,允许取值范围:1~32767参考例子192.168.10.2主机启动glances服务:[root@root~]#glances-s-B192.168.10.2&fromanother主机查看192.168.10.2主机系统负载情况:[root@root~]#glances-c192.168.10.2显示网络连接速度字节/秒:[root@root~]#glances-b设置屏幕刷新间隔为6秒:[root@root~]#glances-t6六、sar——系统运行状态统计sar命令是Linux下的系统运行状态统计工具,将指定操作系统状态计数器显示到标准输出设备.sar(SystemActivityReporter系统活动报告)是目前Linux上最全面的系统性能分析工具之一。它可以从多个方面报告系统活动,包括:文件读写、系统调用使用、磁盘I/O、CPU效率、内存使用、进程活动和IPC相关活动等。语法格式sar[options][[]]commonparameters参数分析-A所有报告的总和-R显示内存状态-b显示I/O和传输率统计-B显示分页状态-d输出每个磁盘的使用信息-e设置显示报告的结束时间-f从指定文件中读取报告-i设置状态信息刷新间隔-P报告每个CPU的状态-u输出cpu使用率和统计信息-v显示inode、文件等的状态kerneltables-w显示交换分区的状态-x显示给定进程的安装容量-r报告内存使用率的统计信息供参考示例使用-r参数显示内存信息:[root@root~]#sar-R使用-b参数显示I/O速率:[root@root~]#sar-buse-u参数显示CPU利用率:[root@root~]#sar-u使用-d参数查看各个磁盘的使用情况信息[root@root~]#sar-d使用-i参数和-f参数设置状态信息1每秒刷新一次,记录5次[root@root~]#sar-i1-f5