Solaris10控制台出现大量“Ping timeout”错误

来源:互联网 发布:阿里云备案域名出售 编辑:程序博客网 时间:2024/05/16 15:06

首先根据经验判断系统可能在进行大量IO操作。

使用iostat命令查看系统的IO情况,发现系统IO很高。但具体是哪个应用程序导致,需进步一步判断。而Solaris10系统提供了一个特别强大的工具Dtrace,可以帮助定位是哪个进程在读写哪块硬盘上的文体。Dtrace脚本如下:

Iotrace.d

此脚本用于跟踪系统正在进行的IO操作,可以具体到某个文件,所读写字节数,在分析系统IO问题时,非常有用。

#!/usr/sbin/dtrace -s

#pragma D option quiet

 

dtrace:::BEGIN

{

       printf("%10s%58s %2s %8s\n", "DEVICE", "FILE", "RW","SIZE");

}

 

io:::start

{

       printf("10%s%58s %2s %8d\n", args[1]->dev_statname, args[2]->fi_pathname,args[0]->b_flags & B_READ ? "R" : "W", args[0]->b_bcount);

}

根据输出确认是oracle进程在进行大量的文件读写操作。

进一步追查原因,知道是有人调大了jboss的JVM参数,同时系统上还运行着ORACLE数据库。jboss的JVM参数设置过大,从而使得oracle能够使用的内存变小,进而本应在内存中进行的操作被迫在磁盘上进行,进而影响到了jboss的运行。随后,修改jboss的JVM参数为较小值,系统恢复正常。

原创粉丝点击