电子商务网站规划与建设步骤,益阳注册公司,wordpress 谷歌广告,wordpress git使用sar诊断问题 1. CPU 使用情况2. 内存与交换3. 磁盘 I/O 活动4. 网络 I/O 活动5. 进程与上下文切换6. 系统调用与文件活动7. 电源管理8. 延迟分析9. 系统全局统计10. 查看历史记录11. 特定时间段12. 自动定时采样其他参数#xff1a;使用实例#xff1a; sar#xff08;S… 使用sar诊断问题 1. CPU 使用情况2. 内存与交换3. 磁盘 I/O 活动4. 网络 I/O 活动5. 进程与上下文切换6. 系统调用与文件活动7. 电源管理8. 延迟分析9. 系统全局统计10. 查看历史记录11. 特定时间段12. 自动定时采样其他参数使用实例 sarSystem Activity Reporter是 sysstat 工具包中的命令用于收集、报告和保存各种系统活动的统计信息。它可以监控 CPU、内存、磁盘 I/O、网络等多种资源的使用情况。你可以通过不同的参数来获取不同类型的系统活动统计。
以下是 sar 命令的常见参数及其详细解释
1. CPU 使用情况
sar -u报告 CPU 的整体使用情况包括用户、系统、空闲等时间的百分比。sar -u [间隔] [次数]每隔一段时间采集一次 CPU 使用数据并报告多次。sar -P报告每个 CPU 的使用情况。sar -P ALL报告所有 CPU 的使用情况。sar -P CPU报告指定 CPU 的使用情况。
sar -u 输出内容解释
[baichaolocalhost linux-5.6]$ sar -u 1 3
Linux 3.10.0-1160.102.1.el7.x86_64 (localhost.localdomain) 10/11/2024 _x86_64_ (8 CPU)03:32:22 AM CPU %user %nice %system %iowait %steal %idle
03:32:23 AM all 99.43 0.00 0.57 0.00 0.00 0.00
03:32:24 AM all 99.42 0.00 0.58 0.00 0.00 0.00
03:32:25 AM all 99.41 0.00 0.59 0.00 0.00 0.00
Average: all 99.42 0.00 0.58 0.00 0.00 0.00
参数解释
sar -u 1 3表示每秒采样一次 CPU 数据并输出 3 次。
各列的含义
%user用户空间进程的 CPU 使用率执行应用程序的时间占用率。%nice带有正优先级nice 值的用户进程的 CPU 使用率。%system内核空间系统级进程的 CPU 使用率执行系统调用和内核操作的时间占用率。%iowait等待 I/O 操作完成的时间占 CPU 总时间的百分比。值越高说明系统可能有 I/O 瓶颈。%steal虚拟机管理程序hypervisor从该虚拟机“窃取”的 CPU 时间。%idle空闲时间即 CPU 无事可做的时间。如果系统在繁忙的情况下有较高的 idle 值可能有资源调度或系统瓶颈问题。
通过 sar -u可以分析系统的 CPU 性能了解 CPU 是处于忙碌状态还是有足够的空闲资源以及是否有 I/O 或 CPU 相关的瓶颈。
2. 内存与交换 sar -r报告内存的使用情况包括物理内存和交换空间的统计数据。 包括 kbmemfree空闲物理内存、kbmemused已用物理内存、%memused已用内存百分比、kbswpfree空闲交换空间等。 sar -S报告交换空间的活动情况包括交换入和交换出的数据量。 包括 pswpin/s每秒交换到内存中的页数、pswpout/s每秒交换到磁盘中的页数。
你运行的 sar -r 命令用于显示 Linux 系统中的内存使用情况。它生成了一段时间内的内存使用统计包括空闲内存、已使用内存、缓存和缓冲区等信息。
[baichaolocalhost linux-5.6]$ sar -r
Linux 3.10.0-1160.102.1.el7.x86_64 (localhost.localdomain) 10/11/2024 _x86_64_ (8 CPU)03:30:02 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
03:40:01 AM 11165664 5081720 31.28 2108 2923356 2114924 8.63 3930476 587340 0
03:50:01 AM 11160444 5086940 31.31 2108 2923364 2181620 8.90 3933536 587348 0
04:00:02 AM 11156368 5091016 31.33 2108 2923372 2181004 8.90 3936384 586940 4
Average: 11160825 5086559 31.31 2108 2923364 2159183 8.81 3933465 587209 104:00:40 AM LINUX RESTART
各列的含义
kbmemfree系统中空闲的内存以 KB 为单位。kbmemused系统中已使用的内存以 KB 为单位。%memused已使用内存占总内存的百分比。kbbuffers用于存储硬盘数据的缓冲区大小以 KB 为单位这部分内存将用于硬盘 I/O 操作。kbcached文件系统缓存的大小以 KB 为单位这部分内存用于缓存常用的文件数据以提高访问速度。kbcommit已提交的内存大小以 KB 为单位表示需要保证的内存大小即使系统过度使用交换空间。这个数值包括所有正在使用或即将被使用的内存。%commit已提交内存占系统内存的百分比。kbactive处于活动状态的内存以 KB 为单位这些内存正在被频繁访问。kbinact处于非活动状态的内存以 KB 为单位这些内存包含不经常使用的数据但仍然保留在内存中以便快速访问。kbdirty当前等待写入到磁盘的脏页以 KB 为单位表示修改过但尚未写入磁盘的数据。
第一行的数据可以理解为
- **03:30:02 AM** 时间点
- 系统有 **11165664 KB** 的空闲内存已使用内存为 **5081720 KB**已使用内存占 **31.28%**。
- 缓冲区大小为 **2108 KB**文件缓存大小为 **2923356 KB**。
- 已提交的内存为 **2114924 KB**提交率为 **8.63%**。
- 活动内存为 **3930476 KB**非活动内存为 **587340 KB**脏数据为 **0 KB**。重新启动信息
04:00:40 AM LINUX RESTART这个表示系统或 sysstat 服务在 04:00:40 AM 重新启动所有统计从这个时间开始重新计算。
总结
该输出显示系统从 03:30 到 04:00 的内存使用情况。系统平均使用了大约 31.31% 的物理内存空闲内存大约是 11160825 KB文件缓存和缓冲区数据量稳定。系统的内存使用相对较低kbdirty 数据很少表示几乎没有脏数据等待写入磁盘。最后系统在 04:00:40 进行了重启可能是计划任务或手动重启的结果。
3. 磁盘 I/O 活动 sar -b报告块设备的 I/O 传输情况。 包括 tps每秒传输数、rtps每秒读请求数、wtps每秒写请求数、bread/s每秒从设备读取的块数等。 sar -d报告每个设备的 I/O 活动情况需要启用 sadf。 包括 tps、rd_sec/s、wr_sec/s 等设备读写统计。
[baichaolocalhost linux-5.6]$ sar -b
Linux 3.10.0-1160.102.1.el7.x86_64 (localhost.localdomain) 10/11/2024 _x86_64_ (8 CPU)03:30:02 AM tps rtps wtps bread/s bwrtn/s
03:40:01 AM 3.24 1.49 1.75 102.16 125.10
03:50:01 AM 0.10 0.00 0.10 0.00 0.88
04:00:02 AM 0.08 0.00 0.08 0.00 0.64
Average: 1.14 0.50 0.64 34.00 42.1504:00:40 AM LINUX RESTART04:10:01 AM tps rtps wtps bread/s bwrtn/s
04:20:01 AM 0.21 0.00 0.21 0.03 2.81
Average: 0.21 0.00 0.21 0.03 2.81每一列代表不同的块设备 I/O 指标
tps每秒传输的块数transactions per second表示每秒进行的读写请求的总数。3.24表示每秒进行约 3.24 次读写请求。rtps每秒读取的块数reads per second表示每秒进行的读取请求的数量。1.49表示每秒进行约 1.49 次读取请求。wtps每秒写入的块数writes per second表示每秒进行的写入请求的数量。1.75表示每秒进行约 1.75 次写入请求。bread/s每秒读取的块数bytes read per second表示每秒从块设备读取的数据量以字节为单位。 102.16表示每秒读取的数据量约为 102.16 字节。bwrtn/s每秒写入的块数bytes written per second表示每秒写入到块设备的数据量以字节为单位。125.10表示每秒写入的数据量约为 125.10 字节。
4. 网络 I/O 活动
sar -n报告网络活动。sar -n DEV显示网络接口的统计数据包括传输和接收的字节数、数据包数等。sar -n EDEV显示带有错误的网络设备统计信息。sar -n SOCK显示 TCP/IP 套接字的统计数据。sar -n IP显示 IP 协议的统计数据如发送、接收、转发的 IP 数据包。sar -n TCP显示 TCP 连接的统计数据。sar -n UDP显示 UDP 统计数据。
sar -n DEV -f /var/log/sa/sa01查看本月 1 号的网卡流量情况
sar -n SOCK -f /var/log/sa/sa01查看本月 1 号的网络连接情况5. 进程与上下文切换 sar -w报告进程上下文切换的统计信息。 包括 proc/s每秒创建的进程数、cswch/s每秒上下文切换次数。 sar -q报告系统负载包括运行队列和等待队列长度。
6. 系统调用与文件活动 sar -v报告文件表、inode 表、缓冲区和内核内部的相关信息。 包括 dentunusd未使用的目录项、file-nr文件表中的打开文件数量等。 sar -y报告 TTY 设备活动终端设备。
7. 电源管理
sar -m报告电源状态统计信息适用于带有电池的设备。 sar -m POWER显示电源的消耗状态。
8. 延迟分析
sar -B报告分页活动的统计信息。 包括 pgpgin/s每秒交换到内存中的页数、pgpgout/s每秒交换到磁盘中的页数。
9. 系统全局统计
sar -A报告所有可用的系统活动统计信息的综合报告。 通常是最全面的报告方式适合需要了解系统整体性能的情况。
10. 查看历史记录
sar -f 文件从指定的文件中读取历史数据通常是 /var/log/sa/ 目录下的文件。 可用于查看过去的性能数据。
11. 特定时间段
sar -s 起始时间 -e 结束时间报告在特定时间段内的数据。 格式为 HH:MM:SS例如sar -s 08:00:00 -e 12:00:00 会报告从 08:00 到 12:00 之间的系统活动。
12. 自动定时采样
crontab 配置sar 通常结合 crond通过定时任务自动采集系统性能数据配置文件一般在 /etc/cron.d/sysstat。
其他参数
-h生成更易读的格式例如将 kB 格式化为 MB。-o 文件将报告输出到指定的文件中供以后分析。-i 间隔设置采样间隔时间单位秒。
使用实例
查看实时 CPU 使用率sar -u 1 5 每秒采集一次共采集 5 次查看过去的网络流量情况sar -n DEV -f /var/log/sa/sa10