求教AIX系统在pagespace耗尽后的行为

发布于 2022-10-15 07:03:21 字数 9589 浏览 26 评论 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个问题就是我在试验过程中的疑问,请各位高人指点,谢谢;)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

青丝拂面 2022-10-22 07:03:21

讨论这个有多大意义呢
就好象讨论从5楼跳下去,会摔成啥样呢,是一级残废,还是二级,。。。。,死,半死,还是活,有意义吗
不如讨论怎么不从5楼跳下去

北方。的韩爷 2022-10-22 07:03:21

回复 2# yddll
谢谢回复,由于我们测试过程中有两种情况(一种情况:系统杀死进程时,系统各个指标正常;另一种情况:系统杀死进程时pswitch等飙升),
想要调查清楚这两种情况是不是都是由我的程序bug引起的,所以想了解在这种情况下系统的行为。

扮仙女 2022-10-22 07:03:21

估计是你程序申请内存没有正常释放造成的

傲娇萝莉攻 2022-10-22 07:03:21

杀sh的话,你的程序是从shell启动的么??如果是,那就对了,没杀错

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文