最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100%
为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享:
首先 、用top命令查看
top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14
Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 86.9% id, 12.6% wa, 0.0% hi, 0.0% si
Mem: 4037872k total, 4003648k used, 34224k free, 5512k buffers
Swap: 7164948k total, 629192k used, 6535756k free, 3511184k cached
查看12.6% wa
IO等待所占用的CPU时间的百分比,高过30%时IO压力高
其次、 用iostat -x 1 10
如果 iostat 没有,要 yum install sysstat
avg-cpu: %user %nice %sys %iowait %idle
0.00 0.00 0.25 33.46 66.29
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
查看%util 100.10 %idle 66.29
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait.
同时可以结合vmstat 查看查看b参数(等待资源的进程数)
vmstat -1
如果你想对硬盘做一个IO负荷的压力测试可以用如下命令
time dd if=/dev/zero bs=1M count=2048 of=direct_2G
此命令为在当前目录下新建一个2G的文件
我们在新建文件夹的同时来测试IO的负荷情况
再通过如下脚本查看高峰的进程io情况
monitor_io_stats.sh
#!/bin/sh
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_dump
sleep 60
dmesg | awk '/(READ|WRITE|dirtied)/ {process[$1]++} END {for (x in process) \
print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \
head -n 10
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/syslog start
或者用iodump.pl脚本
相关推荐
《使用iostat工具检测Linux硬盘IO性能》 在Linux操作系统中,监控硬盘I/O性能是维护系统稳定性和优化性能的重要环节。iostat是一款强大的系统监控工具,它能够提供实时的磁盘输入/输出(I/O)统计信息,帮助我们...
在Linux服务器环境中,性能评估和优化是至关重要的任务,以确保系统的稳定性和高效运行。本文主要探讨了影响Linux服务器性能的因素、评估标准、常用的性能分析工具以及如何进行性能评估与优化。 1. 影响Linux服务器...
使用 `fdisk -l` 命令可以查看服务器硬盘使用情况,该命令将显示硬盘的大小、类型、启动信息等信息。 7. 查看文件系统的磁盘空间占用情况 使用 `df -h` 命令可以查看文件系统的磁盘空间占用情况,该命令将显示每个...
bonnie++是一款强大的开源工具,专门用于测试磁盘I/O性能,它能提供详尽的报告,帮助我们了解硬盘、固态驱动器或其他存储设备的读写速度、存取时间和并发处理能力。 首先,我们需要理解bonnie++的工作原理。这款...
### Linux的IO栈:从应用层到存储层 在深入探讨Linux IO栈之前,我们先对这个复杂的系统有一个大致的了解。Linux IO栈是操作系统中处理输入输出操作的关键部分,它涉及从用户空间的应用程序到硬件设备之间的数据...
而`IOInfo`类可能涉及硬盘读写速度等I/O相关信息。 在使用Siger之前,确保已经在项目中正确导入了该库。这可以通过Maven或Gradle等构建工具完成,添加相应的依赖配置。如果没有现成的库,可能需要手动将Siger的JAR...
2. **磁盘I/O优化**:使用SSD硬盘提升读写速度,优化文件系统如使用`ext4`,启用`noatime`选项减少磁盘写入。 3. **内存调优**:合理分配物理内存和交换空间,使用`swappiness`参数控制内存交换行为。 4. **进程...
5. 避免不必要的IO操作:在数据库操作中,应当尽量减少不必要的磁盘IO操作,例如通过优化查询语句、合理使用索引、批量处理数据等手段,来降低IO负载。 综上所述,理解并优化Linux存储系统的IO操作对于提升数据库...
- `uptime`和`w`命令可以查看当前的系统负载情况。 3. **CPU型号与负载** - **查看CPU型号**: - 使用`dmidecode`命令获取CPU详细信息。 - **CPU负载监控**: - 使用`uptime`和`w`命令定期检查CPU负载情况。 4....
2. **负载均衡**:如果多台服务器可用,可以将IO密集型任务分散到不同的服务器上。 3. **缓存策略**:利用内存缓存减少磁盘访问次数。 4. **IO调度算法**:调整内核的IO调度器,选择更适合当前工作负载的调度算法。 ...
磁盘IO占用测试工具是用于监控和评估服务器磁盘性能的重要软件,特别是在处理大量数据读写操作时,了解磁盘的输入/输出(I/O)性能至关重要。在服务器环境中,如WINDOWS SERVER 2003和WINDOWS SERVER 2008,磁盘I/O...
标题中的“harddiskled”是一个Gnome桌面环境的扩展,主要功能是为用户提供一个直观的硬盘活动指示器,包括读写速度以及一个模仿硬盘LED的图形元素。这个扩展使用JavaScript编写,表明它依赖于Gnome Shell的扩展机制...
3. **服务器优化**:在单服务器层面,优化主要包括Socket通信的优化,硬盘级缓存技术,内存级缓存技术(如Redis或Memcached),以及CPU与IO平衡。通过合理分配计算密集型和I/O密集型任务,避免资源瓶颈,提升整体...
例如,CPU的核心数和频率决定了处理并发请求的能力,内存大小影响数据缓存和程序运行效率,硬盘I/O速度关乎数据读写速度。 2. **并发量**:并发量是衡量服务器处理能力的重要指标。通过公式"并发量=吞吐量/(总请求...
`linux 下io读写测试.txt`可能是用来测试磁盘I/O性能的文档,可能包含了使用`dd`命令或其他工具进行I/O压力测试的方法。通过这些测试,你可以验证监控脚本的准确性,并评估系统在不同负载下的IOPS表现。 最后,`zbx...
通过本教程,读者可以了解到如何在Linux环境下安装MegaRAID Storage Manager (MSM),以及如何设置缓存策略来提升SSD的读写性能。 #### 二、安装与配置步骤 ##### 1. 安装MegaRAID Storage Manager (MSM) - **...
6. **性能分析**:SMARTIO可以收集服务器的性能数据,如CPU利用率、内存使用情况、网络带宽等,帮助分析服务器的工作负载和优化资源分配。 7. **远程操作**:LS远程SMARTIO的一大优势在于其远程管理能力,管理员...
Linux系统性能监测是确保服务器稳定运行的关键环节。通过对系统资源的监控,我们可以及时发现并解决潜在问题,提高系统的效率和响应速度。以下是一些关于Linux系统性能监测的重要知识点: 1. **CPU性能监控**: - ...