以下命令均基于Ubuntu18.04LTS系统。命令功能示例free查看内存使用情况,包括物理内存和虚拟内存free-h或free-mvmstat收集系统整体情况的统计信息,包括内核进程、虚拟内存、磁盘、陷阱和CPU活动的统计信息vmstat2100top实时显示系统中各个进程的资源使用情况和整体状态。topmpstat是一个实时系统监控工具,可以报告与CPU相关的统计信息。mpstatsar收集、报告和保存CPU、内存以及输入和输出端口使用情况。本机各端口的网络连接状态,用于显示与IP、TCP、UDP、ICMP协议相关的统计数据tcpdump-ieth0-c3iptraf用于生成统计数据,包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验错误等iptrafiostat收集并显示系统存储设备输入输出状态statisticsiostat-x-k2100lsof是一个查看进程打开文件的工具,查看监听端口lsof-i:3000atop显示综合各种系统资源(CPU、内存、网络、I/O、内核),并且是在高负载下执行颜色标注的atophtop和top命令很像,一个高级的交互式实时linux进程监控工具htopps是最基本也是非常强大的进程查看命令psauxgrepphpglances监控CPU,平均负载,内存、网络流量、磁盘I/O、其他处理器和文件系统空间的利用率glancesdstat是一个全方位的系统信息统计工具,可以用来替代vmstat、iostat、netstat、nfsstat和ifstat的工具。dstatuptime用于查看服务器运行了多长时间,有多少用户登录,快速了解服务器的负载情况。uptimedmesg主要用于显示内核信息。使用dmesg可以有效诊断机器硬件故障或添加硬件引起的问题。dmesgmpstat用于报告多路CPU主机的各个CPU的活动情况,以及整个主机的CPU状态。mpstat23nmon监控CPU、内存、I/O、文件系统和Internet资源。对于内存使用情况,它可以实时显示总/剩余内存和交换空间等信息。nmonmytop用于监视mysql线程和性能。它允许您实时查看数据库以及正在处理哪些查询。还支持自定义文本输出,可以通过友好的交互方式深入分析logjnettopngrep网络层的grep。它使用pcap,它允许通过指定扩展正则表达式或十六进制表达式来匹配数据包。ngrepnmap可以扫描服务器的开放端口,并可以检测正在使用的操作系统。sh*fdisk查看硬盘和分区信息fdisk-l内存监控freefree命令可以显示当前系统未使用和已使用内存的数量,也可以显示内核使用的内存缓冲区。Syntaxfree(option)常用选项:-b:以Byte为单位显示内存使用情况;-k:以KB为单位显示内存使用情况;-m:以MB为单位显示内存使用情况;-g:显示内存使用情况,以GB为单位显示内存使用情况;-o:不显示缓冲区调整列;-t:显示内存总和列;-V:显示版本信息。字段说明:total:内存总量;used:使用的内存数量,包括缓存的和应用实际使用的内存;free:空闲内存的数量;共享:目前已过时;buffers:缓存的内存数量;cached:缓存的内存编号。关系:total=used+freevmstatvmstat命令的意义是显示虚拟内存状态(“ViryualMemoryStatics”),但它可以报告系统的整体运行状态,如进程、内存、I/O等.语法vmstat(option)(parameter)option-a:显示活动内页;-f:显示启动后创建的进程总数;-m:显示slab信息;-n:只显示一次头信息;-s:以表格的形式显示事件计数器和内存状态;-d:报告磁盘状态;-p:显示指定硬盘分区状态;-S:输出信息的单位。参数eventinterval:刷新状态信息的时间间隔;times:显示报告的次数。字段说明:Procs(进程)r:正在运行并等待CPU时间片的进程数。如果该值长期大于系统的CPU数,说明CPU资源不足。可以考虑增加CPUb:等待资源的进程数,比如等待I/O或者内存交换等Memory(内存)swpd:使用虚拟内存大小,如果swpd的值不为0,但是SI和SO的值长期为0,这种情况不会影响系统性能。free:可用物理内存大小(以KB为单位)。buff:用作缓冲区的内存大小。缓存:用于缓存的内存大小。如果cache的值很大,说明缓存中的文件很多。如果此时IO中的bi比较小,说明文件系统效率更高。Swapsi:每秒从交换区写入内存的大小,从磁盘传输到内存。so:每秒写入交换区的内存大小,从内存传输到磁盘。注意:当内存足够时,这两个值都是0。如果这两个值长期大于0,会影响系统性能,会消耗磁盘IO和CPU资源。有些朋友看到空闲内存(free)很少或者接近于0的时候,就认为是内存不够用了。不能只看这个,还要结合si等。如果free很少,但是si和so也很少(大部分时候为0),那么不用担心,此时不会影响系统性能。IO(当前Linux版本的块大小为1kb)bi:每秒读取的块数bo:每秒写入的块数注:读写随机磁盘时,这两个值较大(例如,超过1024k),并且wa的值比较大,说明系统盘IO性能瓶颈。系统(system)in:每秒的中断次数,包括时钟中断。cs:每秒上下文切换的次数。注意:以上2个值越大,内核消耗的CPU时间就越多。CPU(以百分比表示)us:当用户进程执行时间百分比(usertime)us比较高时,说明用户进程消耗的CPU时间比较多,但是如果使用率长期超过50%,那么我们应该考虑优化程序算法或者提速。sy:内核系统进程执行时间百分比(系统时间)当sy的值很高时,表示系统内核消耗的CPU资源较多。这不是良性的表现,我们应该检查原因。id:Percentageofidletimewa:当IO等待时间百分比wa的值高时,表示IO等待严重。这可能是磁盘上大量的随机访问造成的,也可能是磁盘出现了瓶颈(块操作)。st:一般不用关心,虚拟机占用时间的百分比。CPU监控toptop命令可以实时动态查看系统的整体运行情况。语法:top(选项)选项:-b:以批处理模式运行;-c:显示完整的治理命令;-d:屏幕刷新间隔;-I:忽略失效过程;-s:保密模式;-S:累积模式;-i