查找导致磁盘繁忙的应用程序

一:查看 卷组及对应的所有物理卷

xxx:xx >lspv
hdisk0 0009bebc4e6d09a9 rootvg active
hdisk1 0009bebcc15ace7a rootvg active
hdisk2 0009bebcc1961887 oracle active

二:查看卷组及对应的文件系统

#smit lsvg

选择 第3项

oracle:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
loglv00 jfs2log 1 1 1 open/syncd N/A
fslv00 jfs2 2596 2596 1 open/syncd /oradata
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 81 162 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 8 16 2 open/syncd /
hd2 jfs2 16 32 2 open/syncd /usr
hd9var jfs2 16 32 2 open/syncd /var
hd3 jfs2 24 48 2 open/syncd /tmp
hd1 jfs2 8 16 2 open/syncd /home
hd10opt jfs2 96 192 2 open/syncd /opt
lg_dumplv sysdump 12 12 1 open/syncd N/A

三:opas 命令 查看 磁盘繁忙程序性

Disk Busy% KBPS TPS KB-Read KB-Writ
hdisk0 8.4 103.8 26.0 103.8 0.0
hdisk2 3.4 261.6 19.0 53.9 207.7
hdisk1 0.4 4.0 1.0 4.0 0.0
dac0 0.0 261.6 19.0 53.9 207.7
dac1 0.0 0.0 0.0 0.0 0.0
cd0 0.0 0.0 0.0 0.0 0.0
dac1-utm 0.0 0.0 0.0 0.0 0.0

问题分析:

查找导致磁盘繁忙的应用程序的步骤:

1:topas 的 输出 最繁忙的 磁盘 hdisk0 :8.4%

2:1步骤集合lspv 得出磁盘hdisk0 属于 卷 rootvg

3:再集合smit lsvg 输出 得到 卷 rootvg 的文件系统

结论:这里只能判断 应用程序可能在哪个文件系统 ;

一般磁盘繁忙都会伴随内存问题,可以使用 svmon -P 排序查看 占用内存(包括虚拟内存)情况。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9225895/viewspace-1027772/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9225895/viewspace-1027772/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用System.Diagnostics.PerformanceCounter类来获取当前应用程序磁盘读写情况。具体的实现步骤如下: 1. 引用System.Diagnostics命名空间。 2. 创建PerformanceCounter对象并设置计数器类别和计数器名称,例如: ``` PerformanceCounter pcDiskRead = new PerformanceCounter("PhysicalDisk", "Disk Read Bytes/sec", "_Total"); PerformanceCounter pcDiskWrite = new PerformanceCounter("PhysicalDisk", "Disk Write Bytes/sec", "_Total"); ``` 其中,"PhysicalDisk"表示计数器类别,"Disk Read Bytes/sec"和"Disk Write Bytes/sec"分别表示磁盘读取和写入的计数器名称,"_Total"表示所有物理磁盘的总和。 3. 调用PerformanceCounter的NextValue方法获取当前时刻的计数器值,例如: ``` float diskRead = pcDiskRead.NextValue(); float diskWrite = pcDiskWrite.NextValue(); ``` 4. 可以将获取到的值进行处理,例如输出到控制台或者写入日志文件等。完整的代码示例如下: ``` using System; using System.Diagnostics; namespace DiskPerformanceCounterDemo { class Program { static void Main(string[] args) { PerformanceCounter pcDiskRead = new PerformanceCounter("PhysicalDisk", "Disk Read Bytes/sec", "_Total"); PerformanceCounter pcDiskWrite = new PerformanceCounter("PhysicalDisk", "Disk Write Bytes/sec", "_Total"); while (true) { float diskRead = pcDiskRead.NextValue(); float diskWrite = pcDiskWrite.NextValue(); Console.WriteLine("Disk Read: {0} bytes/sec, Disk Write: {1} bytes/sec", diskRead, diskWrite); Console.ReadLine(); } } } } ``` 注意,此代码示例仅供参考,实际使用时需要根据具体情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值