ChinaUnix首页 > 精华文章 > AIX > 正文

[原创] topas:Unable to initialize Spmi interface错误及解决方法


http://www.chinaunix.net 作者:hisrich  发表于:2003-12-30 13:20:45
发表评论】 【查看原文】 【AIX讨论区】【关闭

TOPAS命令在使用时经常SPMI进程异常中断(死了),这时使用TOPAS时就会报以下错误:
topas: Unable to initialize Spmi interface 
Spmi: Common Memory locked by process 288176, requestor: 41730 (SiInit)
出现这个错误是因为SPMI进程死了,该进程调用的内存没有释放,SPMI用的内存地址是 0x78XXXXXX 。 
1、停止所有数据相关的进程 
2、用ipcs -m 浏览内存使用情况 
3、删除起始地址为0x78的共享内存(所有的0x78开始的内存) 
#ipcrm -m ID 
4、运行slibclean 
这样内存可以释放,TOPAS应该可以用的 
如果 是AIX 4.3.3 有一个相关补丁程序, IY 28990 也可以解决这个问题。



 yujiwei 回复于:2003-12-19 23:33:13

谢谢 写的很详尽


 yanbing 回复于:2003-12-21 22:57:25

谢谢hisrich。

真的希望能够看到越来越多类似这样能够解决实际问题的好帖。。。


 lljj 回复于:2003-12-22 08:46:33

写的好啊!呵呵所以我只用nmon


 lurice 回复于:2003-12-30 10:34:54

帮我解决了问题,总得谢谢啥!多谢多谢


 biml2002 回复于:2003-12-30 11:36:15

topas 不能运行,报SPMI错误


 
环境 产品rs6000,平台aix,机型all,软件版本v4.v5 ,等 
问题 用户在运行 topas 命令时,发现系统报错: 
topas: Unable to initialize Spmi interface 
Spmi: Common Memory locked by process 92898, requestor: 51520 (SiInit) 
 
解答 topas 命令利用SPMI API 来搜集数据。发生上述情况是因为某一个使用SPMI的进程被异常中断(如被用 kill -9 命令杀死) ,这时该进程调用的SMPI共享内存没有被释放,因此导致上述错误信息。
SPMI 所应用的共享内存地址为 : 0x78XXXXXX 如: 0x7804129c

我们的解决步骤是:

1。停止所有数据相关进程(如: xmservd , fultd .......) ,如果harmad 进程也在运行,
请把它也停止。

2。用ipcs -m 命令浏览共享内存的使用情况,如:

root@r6f50 >; ipcs -m
IPC status from /dev/mem as of Mon Mar 31 16:31:18 GMT 2003
T ----ID -----KEY ---------MODE -----OWNER -GROUP
Shared Memory:
m -------0 -0x0d01c320 ---rw-rw-rw- -root --system
m -------1 -0x00001515 ---rw-rw-rw- -root --system
m --917506 -0x78001479 ---rw-rw-rw- -root --system
m --131075 -0x78001143 ---rw-rw-rw- -root --system
m -1572868 -0x0d01c217 ---rw-rw-rw- -root --system
m -1310725 -0x0d01c321 ---rw-rw-rw- -root --system
m -1572870 -0x5801188c ---rw-rw-rw- -root --system

3。删除起始地址为0x78的共享内存,如:

root@r6f50 >; ipcrm -m 917506

root@r6f50 >; ipcrm -m 131075

root@r6f50 >; ipcs -m
IPC status from /dev/mem as of Mon Mar 31 16:54:04 GMT 2003
T -----ID ----KEY -------MODE -------OWNER ---GROUP
Shared Memory:
m -------0 -0x0d01c320 ---rw-rw-rw- -root --system
m -------1 -0x00001515 ---rw-rw-rw- -root --system
m --917506 -0xffffffff -D-rw-rw-rw- -root --system
m --131075 -0xffffffff -D-rw-rw-rw- -root --system
m -1572868 -0x0d01c217- --rw-rw-rw- -root --system
m -1310725 -0x0d01c321 ---rw-rw-rw- -root --system
m -1572870 -0x5801188c ---rw-rw-rw- -root --system

4。 运行slibclean 命令
root@r6f50 >; slibclean

经过上述步骤共享内存就可以被释放了,topas 也可以使用了。

注: AIX 4.3.3 有一个相关补丁程序, IY 28990 
->; perfagent.tools 2.2.33.80 Topas locks SPMI & hinders xmservd

用户可以到IBM王站上下载该补丁,并安装它。

补丁下载网址为:http://techsupport.services.ibm.com//rs6k/fixdb.html


 vitovito 回复于:2003-12-30 13:20:45

好呀,又学一招,谢谢!




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=226797
转载请注明作者名及原文出处