Linux服务器监控命令

CPU、内存、进程实时监控

top

  • 能够实时监控系统运行状态,并且可以按照CPU、内存等进行排序。

top参数

  • -h :帮助

  • -p :监控指定进程,监控多个进程ID之间用 , 分割

top任务区命令

  • M :按内存使用率排序

  • P :按CPU使用率排序

  • z:彩色/黑白显示

top中的load average

  • 系统的运行队列的平均利用率,也可以认为是可运行进程的平均数。三个值分别表示在最后的1分钟、5分钟、15分钟的平局负载值。load average负载大小应根据CPU核数进行换算。

vmstat

  • 可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、CPU的信息。

vmstat参数

  • -s :使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

vmstat语法

  • vmstat 1 2

    • 第一个参数表示时间间隔

    • 第二个参数表示显示次数

free

  • 能够监控系统内存使用状态。其中,total:总计物理内存的大小;Used:已使用大小;Free:剩余可用大小;Shared:多个进程共享的内存总额;buffers/cached:磁盘缓存的大小。

free参数

  • -h :以更易理解的方式显示

mpstat

  • 特点:可以查看多核心CPU中每个计算核心的统计数据。

  • 非系统自带命令,可以yum install -y sysstat

mpstat语法

  • mpstat [-P{|ALL}] [internal [count]]

    mpstat 1 5 :表示间隔1秒,显示5次信息

mpstat参数

  • -P{|ALL} :表示监控具体哪个CPU,CPU在[0,总核心数]中取值

  • internal :采样间隔时间

  • count :采样的次数,count只能和delay一起使用

mpstat注意点

  • 当没有参数时,mpstat则显示系统启动以来所有信息平均值。有internal时,第一行信息显示系统自启动以来的平均值。从第二行开始显示internal间隔时间内的平均信息。

监控指标说明

  • %usr :用户使用时间

  • %sys :系统使用时间

  • %idle :空闲的时间

网络实时监控

netstat

  • 用于显示本机网络链接、运行端口、路由表等信息。

netstat参数

  • -n :拒绝显示别名,能够显示数字的全部转化为数字。

  • -l :仅列出有在Listen(监听)的服务状态。

  • -p :显示建立相关链接的程序名。

  • -t(tcp) :仅显示tcp相关的选项。

  • -u(udp):仅显示udp相关的选项。

  • -i :显示自动匹配接口的信息。

  • -c :每隔一个固定时间,执行netstat命令。 不写-c参数直接写数字也可以识别。

netstat -i 监控指标说明

  • Iface :网络设备接口名称

  • MTU :最大传输单元,单位byte

  • RX-OK :准确接收数据包数量

  • TX-OK :准确发送数据包数量

  • RX-ERR :接收错误数据包数量

  • TX-ERR :发送错误数据包数量

  • RX-DRP :接收丢包数量

  • TX-DRP :发送丢包数量

  • RX-OVR :进入Ring Buffer 后因其他原因(如内存不足)导致的丢包数

  • TX-OVR :Ring Buffer 溢出导致的丢包数

磁盘实时监控

iostat

  • iostat是对系统磁盘IO操作进行监控,它主要输出磁盘读写操作的统计信息,同时给出cpu使用情况。

iostat参数

  • -x device 输出指定要统计的磁盘设备名称,默认为所有磁盘设备。

iostat监控指标说明

  • tps :一次IO请求数据大小

iostat -x 监控指标说明

  • rrqm/s : 每秒合并读操作的次数

  • wrqm/s: 每秒合并写操作的次数

  • r/s :每秒读操作的次数

  • w/s : 每秒写操作的次数

  • rMB/s :每秒读取的MB字节数

  • wMB/s: 每秒写入的MB字节数

  • %util: 工作时间或者繁忙时间占总时间的百分比

万能的sar命令

sar

  • (System Activity Reporter 系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统活动进行报告。

sar的性能监控范围

  • 文件读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

sar语法

  • sar [options] [-A] [-o file] t [n]

sar语法说明

  • t 和 n 两个参数组合起来定义采样间隔和次数,t为采样间隔,n为采样次数;-o file 表示将命令结果以二进制格式存放到指定文件中。

sar参数

  • -A :所有报告的总和

  • -u :CPU利用率

  • -v :进程、节点、文件和锁表状态

  • -r :显示系统内存使用情况

  • -B :内存分页情况

  • -b :缓冲区(buffer)使用情况

Linux下的进程追踪命令

strace

  • strace是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。

strace参数

  • -tt:在每行输出的前面,显示毫秒级别的时间

  • -f:跟踪目标进程,以及目标进程创建的所有子进程

  • -e:过滤要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称

    • -e trace=file 跟踪和文件访问相关的调用(参数中有文件名)

    • -e trace=process 和进程管理相关的调用,比如fork/exec/exit_group

    • -e trace=network 和网络通信相关的调用,比如socket/sendto/connect

    • -e trace=signal 信号发送和处理相关,比如kill/sigaction

    • -e trace=desc 和文件描述符相关,比如write/read/select/epoll等

    • -e trace=ipc 进程通信相关,比如shmget等

  • -o:把 strace 的输出单独写到指定的文件

  • -p:指定要跟踪的进程 pid,要同时跟踪多个 pid,重复多次 -p 选项即可

  • -T:显示每次系统调用所花费的时间

  • -c :统计系统调用情况和其所花的时间

  • -s:当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是 32 个字节

  • -v:对于某些相关调用,把完整的环境变量,文件 stat 结构等打出来。

     

strace语法

strace  -tt  -f  -e  trace=process  ./test_exit

image

Linux监控工具

nmon

  • nmon能在系统运行过程中实时捕捉系统资源使用情况,并且能输出结果到文件中,通过nmon_analyzer工具产生数据文件与图形化结果。

nmon下载与安装

  • tar gxvf nmon_linux_14i.tar.gz

  • 根据自己的操作系统选择nmon可执行文件,如:

    mv nmon_x86_64_centos6 nmon

  • cp nmon /usr/bin/

nmon用法

  • -f 必选参数,并且必须放在第一个,就是输出文件的意思,文件名默认为hostname_data_time.nmon

  • -F 自定义文件名称输出

  • -s 采集频率

  • -c 采集次数

  • -t 输出最消耗资源的进程数据

  • -h 查看帮助

nmon语法

nmon  -f  -F  demo.nmon  -s  1  -c  10  -t

nmon的结果分析

  • nmon_analyzer的作用就是分析nmon数据采集后的结果,需要借助excel的宏。WPS默认没有安装宏,需要下载插件。

nmon_analyzer下载

https://community.ibm.com/community/user/legacy?lang=en#!/wiki/Power+Systems/page/nmon_analyser

nmon_analyzer重点sheet页

  • SYS_SUMM :系统汇总页,包含cpu占有率变化情况、磁盘IO变化情况

  • AAA :关于操作系统及nmon本身的一些信息

  • CPUnn :执行时间内CPU占用情况

  • CPU_ALL :所有CPU概述,显示所有CPU平均占用情况

  • CPU_SUMM :每一个CPU在执行时间内占用情况

  • DGBUSY :磁盘组每个hdisk设备平均占用情况

  • DGREAD :每个磁盘组平均读情况

  • DGWRITE :每个磁盘组平均写情况

  • DGSIZE :每个磁盘组平均读写情况

  • DGXFER :每个磁盘组每秒I/O操作

  • MEM :内存使用、空闲大小

  • NET :每个网络适配器的数据传输率(KB/s)

Linux定时任务

crontab

  • Linux系统是由cron这个系统服务来控制的。Linux系统提供了使用者控制计划任务的命令。

crontab的启动

  • /sbin/service crond status 查看定时任务是否启动

  • start/stop/restart 启动服务/停止服务/重启服务

  • reload 重新载入配置(重新读取设置的定时任务)

crontab服务权限

  • crontab权限管理存储在cron.allow文件与cron.deny文件中。如果没有可创建在etc目录下

  • cron.allow文件存储允许哪些用户使用crontab

  • cron.deny文件存储不允许哪些用户使用crontab

crontab使用场景说明

  • 当两个文件都不存在时,只允许root用户使用crontab

  • 2个文件都存在并且用户在2个文件中都有时,以cron.allow文件为准

crontab使用

  • 命令:crontab -e 进入编辑页面

  • crontab -l :查看计划任务列表

crontab的编辑格式

  • 基本格式:minute hour day month week command

  • 对应单位:分 时 日 月 周 命令

crontab时间单位说明

  • 第一列表示分钟00~59

  • 第二列表示小时00~23

  • 第三列表示日期01~31

  • 第四列表示月份01~12

  • 第五列表示星期0~6(0表示星期天)

  • 每(分/时/日/月/星期)用* 或 */1 表示

  • - 代表从取值范围

  • , 分割几个不同的数字

crontab语法

1.每分钟定时执行一次规则: 每1分钟执行: */1 * * * 或者 * * * * 每5分钟执行: */5 * * * *

2.每小时定时执行一次规则: 每小时执行: 0 * * * *或者0 */1 * * * 每天上午7点执行:0 7 * * * 每天上午7点10分执行:10 7 * * *

3.每天定时执行一次规则: 每天执行 0 0 * * *

4.每周定时执行一次规则: 每周执行 0 0 * * 0

5.每月定时执行一次规则: 每月执行 0 0 1 * *

6.每年定时执行一次规则: 每年执行 0 0 1 1 *

 

 

 

posted @   ㄙㄣㄌ丨ㄣ  阅读(235)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示