- 论坛徽章:
- 0
|
大家好,
我是aix应用程序开发人员。最近发现我们开发的系统在长时间运行后可能导致服务器没响应(当前已连接
的telnet断开,新的telnet连接无法建立,但是ping检测网络是通的)。
后来调查发现是由于一个进程在异常情况不断的申请内存而不释放,将pagespace耗尽导致的。
为了验证程序,我们打算重现问题,为迅速重现我们将pagespace设置为(512M),物理内存为8G。使用
topas_nmon定时采样监控系统状态。先后进行了多次试验,现象都是运行一定时间后,telnet无法登录服务器。应用
进程被杀死,通过errpt查看到在系统无响应的时点,有大量的如下错误:
C5C09FFA 0324215411 P S SYSVMM SOFTWARE PROGRAM ABNORMALLY TERMINATED
C5C09FFA 0324215411 P S SYSVMM SOFTWARE PROGRAM ABNORMALLY TERMINATED
C5C09FFA 0324215411 P S SYSVMM SOFTWARE PROGRAM ABNORMALLY TERMINATED
C5C09FFA 0324212111 P S SYSVMM SOFTWARE PROGRAM ABNORMALLY TERMINATED
C5C09FFA 0324212111 P S SYSVMM SOFTWARE PROGRAM ABNORMALLY TERMINATED
C5C09FFA 0324212111 P S SYSVMM SOFTWARE PROGRAM ABNORMALLY TERMINATED
使用errpt -a -j C5C09FFA,显示信息均如下形式:
---------------------------------------------------------------------------
LABEL: PGSP_KILL
IDENTIFIER: C5C09FFA
Date/Time: Wed May 11 02:18:55 BEIST 2011
Sequence Number: 5980
Machine Id: xxxxxxx
Node Id: xxxxx
Class: S
Type: PERM
Resource Name: SYSVMM
Description
SOFTWARE PROGRAM ABNORMALLY TERMINATED
Probable Causes
SYSTEM RUNNING OUT OF PAGING SPACE
Failure Causes
INSUFFICIENT PAGING SPACE DEFINED FOR THE SYSTEM
PROGRAM USING EXCESSIVE AMOUNT OF PAGING SPACE
Recommended Actions
DEFINE ADDITIONAL PAGING SPACE
REDUCE PAGING SPACE REQUIREMENTS OF PROGRAM(S)
Detail Data
PROGRAM
sh
USER'S PROCESS ID:
299316
PROGRAM'S PAGING SPACE USE IN 1KB BLOCKS
0
通过查询资料,了解aix在pagespace满的情况下会主动杀死一些进程,释放pagespace。但是我还是有一些问题
不是很清楚:
1、pagespace被耗尽的时候,系统根据什么条件触发杀死进程的动作?
2、系统在杀进程时,如何选择对象?如何选择顺序?根据我的日志,操作系统杀死的不只是占有大量pagespace
的进程,如上例中sh,并没有使用pagespace。
3、在其中的一次测试的日志中,发现系统在开始杀进程的时间点左右,有几个系统参数瞬间飙升,这是为什么?
RunQueue Swap-in pswitch syscall read write
0.37 0 2032 5463 167 283
0.47 0 2017 5684 175 282
0.5 0 2346 6401 211 332
0.7 0 6023 64405 150 10666
2.23 0 17558 210499 218 35861
2.83 0 35146 200604 230 30443
2.97 0 35879 204855 5921 31620
2.87 0 36263 196979 198 27542
4、pagespace耗尽后,出现常说的系统hung机现象,用户无法登录,ping网络是通的。那么无法登录直接原因是什么呢?
在我进行的几次试验中,有的时候是telnetd被杀死,是否是因为telnetd被杀死,所以用户无法进行远程登录?但是有的
时候errpt中显示是sh被杀死,没有telnetd被杀死的信息,telnet也无法登录。
以上4个问题就是我在试验过程中的疑问,请各位高人指点,谢谢;) |
|