cuizengshun
作者cuizengshun2017-02-06 17:54
系统运维工程师, 民生银行

aix系统运维案例(二):AIX操作系统CPU占用率高

字数 4168阅读 8765评论 1赞 3

故障描述:

CPU 100%,需要分析原因。

故障分析:

检查系统的相关数据,发现系统中造成CPU高的为大量的topasrec进程。
root 24117384 1 0 May 14 - 0:00 /usr/bin/topasrec -L -O type=azizo -ystart_time=11:27:14,May14,2013 -o /etc/perf/

root 24314016        1   0   May 06      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=01:52:54,May06,2013 -o /etc/perf/
root 24444950        1   0   May 10      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=07:29:35,May10,2013 -o /etc/perf/
root 24510670        1   0   May 09      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=03:00:46,May09,2013 -o /etc/perf/
root 24707102        1   0   May 07      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=13:11:10,May07,2013 -o /etc/perf/
root 24772628        1   0   May 07      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=21:46:45,May07,2013 -o /etc/perf/
root 24838176        1   0   May 12      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=10:27:28,May12,2013 -o /etc/perf/
root 24903888        1   0   May 06      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=06:47:43,May06,2013 -o /etc/perf/
root 24969418        1   0   May 06      -  0:00 /usr/bin/topasrec  -L -O type=azizo -ystart_time=19:29:37,May06,2013 -o /etc/perf/

查看进程的stack信息:
0xd01407b0 malloc_y(0x80, 0x0, 0xf23800c8, 0xf24d2920, 0x0, 0x0, 0x0, 0x2ff191c8) + 0x590
0xd012a908 malloc_common@AF103_86(??) + 0x28
0xd08a5e1c uprv_malloc@AF10_7(??) + 0x5c
0xd08cd2e4 ures_openDirect(??, ??, ??) + 0x44
0xd06afe48 icu::openOlsonResource(consticu::UnicodeString&,UResourceBundle&,UErrorCode&)(??, ??, ??) + 0x28
0xd06afa98 icu::TimeZone::createSystemTimeZone(consticu::UnicodeString&)(??) + 0x58
0xd06af954 icu::TimeZone::createTimeZone(consticu::UnicodeString&)(??) + 0x14
0xd07eb764 _createTimeZone(constwchar_t,int,UErrorCode)(??, ??, ??) + 0x164
0xd07ebb48 ucal_open(??, ??, ??, ??, ??) + 0x108
0xd01bfe4c localtime_tz_ost_r(??, ??) + 0xac
0xd01c03d4 localtime_tz_r(??, ??, ??) + 0x394
0xd01c194c ctime(??) + 0xc
0x100077e4 write_to_log(??) + 0x84
0x1000bf9c must_exit(??) + 0x3c
<signal>
0xd01407b0 malloc_y(0x80, 0x0, 0xf23800c8, 0xf24d2920, 0x0, 0x0, 0x0, 0x2ff1aa48) + 0x590
0xd012a908 malloc_common@AF103_86(??) + 0x28
0xd08a5e1c uprv_malloc@AF10_7(??) + 0x5c
0xd08cd2e4 ures_openDirect(??, ??, ??) + 0x44
0xd06afe48 icu::openOlsonResource(consticu::UnicodeString&,UResourceBundle&,UErrorCode&)(??, ??, ??) + 0x28
0xd06afa98 icu::TimeZone::createSystemTimeZone(consticu::UnicodeString&)(??) + 0x58
0xd06af954 icu::TimeZone::createTimeZone(consticu::UnicodeString&)(??) + 0x14
0xd07eb764 _createTimeZone(constwchar_t,int,UErrorCode)(??, ??, ??) + 0x164
0xd07ebb48 ucal_open(??, ??, ??, ??, ??) + 0x108
0xd01bfe4c localtime_tz_ost_r(??, ??) + 0xac
0xd01c03d4 localtime_tz_r(??, ??, ??) + 0x394
0xd01c194c ctime(??) + 0xc
0x100077e4 write_to_log(??) + 0x84
0x1000bf9c must_exit(??) + 0x3c
<signal>
0x10014b88 get_stats(??) + 0x88
<signal>
0xd01407b0 malloc_y(0x80, 0x0, 0xf23800c8, 0xf24d2920, 0x0, 0x0, 0x0, 0x2ff1c718) + 0x590
0xd012a908 malloc_common@AF103_86(??) + 0x28
0xd08a5e1c uprv_malloc@AF10_7(??) + 0x5c
0xd08cd2e4 ures_openDirect(??, ??, ??) + 0x44
0xd06afe48 icu::openOlsonResource(consticu::UnicodeString&,UResourceBundle&,UErrorCode&)(??, ??, ??) + 0x28
0xd06afa98 icu::TimeZone::createSystemTimeZone(consticu::UnicodeString&)(??) + 0x58
0xd06af954 icu::TimeZone::createTimeZone(consticu::UnicodeString&)(??) + 0x14
0xd07eb764 _createTimeZone(constwchar_t,int,UErrorCode)(??, ??, ??) + 0x164
0xd07ebb48 ucal_open(??, ??, ??, ??, ??) + 0x108
0xd01bfe4c localtime_tz_ost_r(??, ??) + 0xac
0xd01c03d4 localtime_tz_r(??, ??, ??) + 0x394
0xd01c194c ctime(??) + 0xc
0x100077e4 write_to_log(??) + 0x84
0x1000bf9c must_exit(??) + 0x3c
<signal>

后续措施和建议:

经分析这个为AIX bug导致:
IV24599: TOPASREC AZIZO PROCESS HANGS BECAUSE OF SIGALRM IN-TERRUPT APPLIES TO AIX 6100-06
http://www-01.ibm.com/support/docview.wss?uid=isg1IV24599
当前AIX版本为6100-06-06,此补丁需要系统升级到6100-06-11。
针对此问题可惜采取两种措施来解决:

  1. 升级操作系统版本至6100-06-11。
  2. 禁用xmdaily避免自动启动topasrec
# vi /etc/inittab

修改xmdaily:2:once为xmdaily:2:off

# telinit q

使新的inittab文件生效

# vi /etc/inetd.conf

注释掉xmquery对应的行

# refresh –s inetd

使新的inetd.conf文件生效

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论1 条评论

myfullermyfuller系统工程师, rongke
2019-03-26 10:23
非常不错的资料
Ctrl+Enter 发表

本文隶属于专栏

PowerVC专栏
本专栏主要分享PwerVM和PowerVC相关方面的架构、实施、运维等经验,以及企业私有云建设的相关经验及总结。

作者其他文章

相关文章

X社区推广