诡异问题5-图省事,搞出来个大麻烦。

生产中心有几套VIOS环境,正常运行了1-2年,今日发现有2套进行健康性检查,发现执行命令就hang在哪里不动了,又是内存不够用了。

[code class=""]\"0403-031 The fork
function failed. There is not enough memory available.\"[/code]

好奇怪,到底内存被谁用了,vios好端端的就这样了。都这个样子,重启vios分区吧。重启完,vios顺利登陆,执行健康性检查没啥问题,可是用nmon看了一下内存使用分配了4个G,使用1个多G,慢慢慢慢的就看到内存使用越来越大,不一会4个G就用完了,重启其他vios分区一个样子,连换页空间都用了。顿时一头雾水。到底发生了什么呢?

参与28

5同行回答

798683133yj798683133yj  系统架构师 , 政务云某公司
伟光您好,你的vios是什么版本?客户端用的是vscsi?还是npiv?映射的。显示全部

伟光您好,你的vios是什么版本?客户端用的是vscsi?还是npiv?映射的。

收起
金融其它 · 2017-03-27
浏览3575
jxnxsdengyujxnxsdengyu  系统工程师 , 江西农信
是不是跟VIOS启动后,自启动进程有关,而且该进程分配的内存较大。至于是什么进程,我是想不到,因为压根不会在VIOS端去搞其他应用进程显示全部

是不是跟VIOS启动后,自启动进程有关,而且该进程分配的内存较大。至于是什么进程,我是想不到,因为压根不会在VIOS端去搞其他应用进程

收起
银行 · 2017-03-28
浏览3007
jxnxsdengyujxnxsdengyu  系统工程师 , 江西农信
乱动default参数,顶多需要时,修改用户的limits参数。显示全部

乱动default参数,顶多需要时,修改用户的limits参数。

收起
银行 · 2017-03-30
浏览2984
saigonsaigon  系统运维工程师 , China
是不是vios端装的多路径问题?显示全部

是不是vios端装的多路径问题?

收起
互联网服务 · 2017-03-29
浏览3100
myciciymyciciy  IT顾问 , 某金融科技公司
生产中心有几套VIOS环境,正常运行了1-2年.突然出现这种问题,首先想到的是变更。梳理了近期变更操作,近期新部署了PowerVC,VIOS进行了补丁升级。VIOS2.1升级到VIOS2.2.3.首先,重启vios分区,在内存没有用完前赶紧检查那个进程使用的内存.排名第一的是vio_daemon,观察了一会发现...显示全部

生产中心有几套VIOS环境,正常运行了1-2年.突然出现这种问题,首先想到的是变更。梳理了近期变更操作,近期新部署了PowerVC,VIOS进行了补丁升级。VIOS2.1升级到VIOS2.2.3.

首先,重启vios分区,在内存没有用完前赶紧检查那个进程使用的内存.

排名第一的是vio_daemon,观察了一会发现内存一会就被他占用完了

图片.png

第二,元凶找到了,vio_daemon到底是干啥的,问问IBM800吧,IBM回复问我收集一下系统信息。

1. #ioslevel

2. /etc/security/limits的输出

反馈后,IBM告诉我,我遇到了bug

vios版本和   /etc/security/limits    stack = -1完全符合这个bug特征。

其实这个bug是可以避免的,我们大多数实施AIX的时候,很容易顺手把 /etc/security/limits.都改成-1,在大多数情况下,没啥问题,但是就是在这个版本下就容易遇到这个问题。

default:

       fsize = -1

       core = -1

       cpu = -1

       data = -1

       rss = -1

       stack = -1

       nofiles = -1



The problem can be due to a known issue inVIOS 2.2.3.0 thru 2.2.3.3 with vio_daemon having a memory leak that was fixedat 2.2.3.4 with IV64508,or it could be due to incorrect VIOS settings.

Answer

To check your VIOS level, as padmin, run:
$ ioslevel

If your VIOS level is 2.2.3.4 or higher, the problem may be due to the VIOShaving incorrect system settings in /etc/security/limits. If the\"stack\" size is set to \"unlimited\" (stack = -1),this exposes a condition where the system can be allowed to pin as much stackas desired causing vio_daemon to consume a lot of memory.

$ oem_setup_env

# vi /etc/security/limits ->check thedefault stanza

default:
       fsize = -1
       core = -1
       cpu = -1
       data = -1
       rss = -1
       stack = -1
       nofiles = -1

In some cases, the issue with vio_daemonconsuming high memory is noticed after a VIOS update to 2.2.3.X. However, aVIOS update will NOT change these settings. It is strongly recommended not tomodify these default values as doing so is known to cause unpredictableresults. Below is an example of the default values:

default:
       fsize = 2097151
       core = 2097151
       cpu = -1
       data = 262144
       rss = 65536
       stack = 65536
       nofiles = 2000


To correct the problem change the setting back to \"default\" values.Then reboot the VIOS at your earliest convenience.

收起
银行 · 2017-03-30
浏览3124

提问者

myciciy
myciciy21035
IT顾问某金融科技公司
擅长领域: 服务器存储灾备

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-03-27
  • 关注会员:4 人
  • 问题浏览:9874
  • 最近回答:2017-03-30
  • X社区推广