【转帖】10个Linux 系统性能监控命令行工具

linux,系统,性能,监控,命令行,工具 · 浏览次数 : 0

小编点评

**Linux 系统监控命令** 1. **uptime**:显示系统运行时间。 2. **vmstat**:显示虚拟内存状态。 3. **pidstat**:监控被内核管理的进程。 4. **free -m**:显示系统内存使用情况。 5. **top**:显示 CPU 使用情况。 6. **sar -n DEV 1**:查看网络设备吞吐率。 7. **sar –n TCP,ETCP 1**:查看TCP连接状态。 8. **Iostatb –xz 1**:查看服务器磁盘IO情况。 9. **Dmesg | tail**:查看系统日志。 10. **sar -n TCP,ETCP 1**:查看TCP连接状态。

正文

引言:

系统一旦跑起来,我们就希望它能够稳定运行,不要宕机,不出现速度变慢。因此,对于Linux 系统管理员来说每天监控和调试 Linux 系统的性能问题是一项繁重却又重要的工作。监控和保持系统启动并运行是很不容易的一件事。

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

下面是小编总结的十个实用的 Linux 系统监控命令,让你轻松保持系统的实时性能监控。

uptime命令

uptime命令可以查看系统总共运行了多长时间和系统的平均负载。

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

显示的信息显示依次为:

  • 现在时间、
  • 系统已经运行了多长时间
  • 目前有多少登陆用户
  • 系统在过去的1分钟、5分钟和15分钟内的平均负载

通过这些数据我们可以清晰的看出来服务器的负载是在趋于紧张还是趋于缓解的状态。

vmstat 命令

vmstat命令的含义为显示虚拟内存状态,但是它可以报告关于进程、内存、I/O等系统整体运行状态。

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

每2秒获取一次数据

#>vmstat 2

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

上图中,我们可以看出来vmstat命令,会输出系统的核心指标,我们可以更加详细的了解服务器的性能情况。

pidstat 命令

pidstat命令用来监控被 Linux 内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔。

使用pidstat不加任何参数等价于加上-p参数,但是只有正在活动的任务会被显示出来。

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

I/O 统计数据

# pidstat -d -p 8472

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

IO 输出会显示一些内的条目:

  • kB_rd/s - 任务从硬盘上的读取速度(kb)
  • kB_wr/s - 任务向硬盘中的写入速度(kb)
  • kB_ccwr/s - 任务写入磁盘被取消的速率(kb)

监测内存使用

# pidstat -r 2 5

会显示5份关于page faults的统计数据结果,间隔2秒。这将会更容易的定位出现问题的进程。

free -m 命令

free -m 命令相对于top 提供了更简洁的查看系统内存使用情况

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

第一部分Mem行:

  • total 内存总数: 378M
  • used 已经使用的内存数: 163M
  • free 空闲的内存数: 215M
  • shared 当前已经废弃不用,总是0
  • buffers Buffer 缓存内存数: 11M
  • cached Page 缓存内存数:57M

可用内存计算公式:

可用内存 =free +buffers +cached, 实际操作即:215 +11+57 =253MB;

五、 top 命令

top命令很常用,在第三行有显示CPU当前的使用情况。

别小看这10个命令行工具,助你实现实时 Linux 系统性能监控

 

字段说明:

  • PID:进程标示号
  • USER:进程所有者
  • PR:进程优先级
  • NI:进程优先级别数值
  • VIRT:进程占用的虚拟内存值
  • RES:进程占用的物理内存值
  • SHR :进程使用的共享内存值
  • S :进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死
  • %CPU :进程占用的CPU使用率
  • %MEM :进程占用的物理内存百分比
  • TIME+:进程启动后占用的总的CPU时间
  • Command:进程启动的启动命令名称

六、 其他指令

「sar -n DEV 1」可以查看网络设备的吞吐率,吞吐量可以判断是被是否饱和,是检查服务器性能的一个重要指标。

「sar –n TCP,ETCP 1」用于查看TCP连接状态以及连接数量。其中,TCP的连接数量可以用来判断服务器的性能如何,同时还能够判断谁是主动连接,谁是被动连接。

「Iostatb –xz 1」主要用于查看服务器的磁盘IO情况,看是否有满负荷运转的情况发生。

「Dmesg | tail」用于输出查看日志使用,这些日志可以帮助我们排查性能的问题。

作为 IT 运维工程师,定时的关注服务器性能变化,可以帮助在发现异常的第一时间采取措施,保障业务的正常运行。试想,如果拥有一个能够监控全局,实现业务告警风险提醒的运维协作工具呢?定能极大提升工作效率,加强团队运维保障能力!

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux进阶新增用户32169 人正在系统学习中

与【转帖】10个Linux 系统性能监控命令行工具相似的内容:

【转帖】10个Linux 系统性能监控命令行工具

引言: 系统一旦跑起来,我们就希望它能够稳定运行,不要宕机,不出现速度变慢。因此,对于Linux 系统管理员来说每天监控和调试 Linux 系统的性能问题是一项繁重却又重要的工作。监控和保持系统启动并运行是很不容易的一件事。 下面是小编总结的十个实用的 Linux 系统监控命令,让你轻松保持系统的实

[转帖]精华总结:10个问题理解 Linux epoll

epoll 是 linux 特有的一个 I/O 事件通知机制。很久以来对 epoll 如何能够高效处理数以百万记的文件描述符很有兴趣。近期学习、研究了 epoll 源码,在这个过程中关于 epoll 数据结构和作者的实现思路产生出不少疑惑,在此总结为了 10 个问题并逐个加以解答和分析。 本文基于的

[转帖]Linux Shell 脚本的 10 个有用的“面试问题和解答”

http://blog.itpub.net/31545813/viewspace-2926667/ Linux 的浩瀚无垠,使人总能每次都提交与众不同的内容。这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。 在此

[转帖]Linux服务器跨三网的网卡配置方法(4网卡3网段)

服务器有4个网卡,其中1、2号网卡进行绑定,配置10地址;3号网卡配置互联网地址;4号网卡配置192私网地址。IP信息如下 IP202.*.*.*10.14.167.229192.168.188.202掩码255.255.255.240255.255.255.240255.255.255.192网关

[转帖]实现 10 倍应用性能提升的 10 个技巧

https://my.oschina.net/u/5246775/blog/5981861 Web 应用性能优化迫在眉睫。线上经济活动份额不断增长,发达世界的互联网经济已占经济总量的 5% 以上(请参见下文的互联网统计数据来源)。在这个始终在线、超级互联的现代世界,用户的期望已经今非昔比。如果您的网

[转帖]线程池使用的10个坑

https://juejin.cn/post/7132263894801711117 前言 大家好,我是捡田螺的小男孩。 日常开发中,为了更好管理线程资源,减少创建线程和销毁线程的资源损耗,我们会使用线程池来执行一些异步任务。但是线程池使用不当,就可能会引发生产事故。今天田螺哥跟大家聊聊线程池的10

[转帖]在 TiDB 中正确使用索引,性能提升 666 倍

https://tidb.net/book/tidb-monthly/2022/2022-04/usercase/index-666 背景​ 最近在给一个物流系统做TiDB POC测试,这个系统是基于MySQL开发的,本次投入测试的业务数据大概10个库约900张表,最大单表6千多万行。 这个规模不算

[转帖]tidb集群部署

http://blog.itpub.net/29785807/viewspace-2789852/ 一.安装规划 1 2 3 4 5 6 使用15台服务器 5台tidb服务器:每台3个tidb实例+1个pd+1个pump 10台tikv服务器:每台4个tikv实例 drainer_servers 安

[转帖]mydumper版本0.10.7新特性与原理

mydumper版本0.10.7新特性与原理 https://www.modb.pro/db/100419 1.什么是mydumper?MyDumper是一个数据库的逻辑备份工具,和官方的mysqldump,mysqlpump类似。主要有命令2个工具:mydumper和myloader。 2.Myd

[转帖]超线程SMT究竟可以快多少?(AMD Ryzen版 )

https://www.modb.pro/db/139224 昨天我们用Intel I9的10核,每个核2个threads的机器跑了内核的编译: 超线程SMT究竟可以快多少? 今天,我换一台机器,采用AMD Ryzen。 默认情况16核,每个核2个threads,共32个CPUs: 下面编译内核: