您的位置:首页 > 其它

Perl批量杀升腾终端绑定程序进程,解决CPU占用率100%问题。

2012-03-30 23:23 387 查看
需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理长时间无响应。

经查,升腾终端绑定程序与每个终端都有大量无效连接 (Perl获取连接本机的外部IP信息),即使,终端离线占用的资源依然不释放,下次连接时又重新创建新连接,重复。直至耗尽服务器可用资源同时CPU占用率100%

上述,个人凝为升腾程序BUG,联系厂家后暂未给出解决方法,临时编写这个程序手动回收被过多占用的资源。

优点:批量KILL程序快速回收被占用的资源。

#!/usr/bin/perl -w
use strict;
############################################################
# 文件:kill_centerm.pl
# 功能:杀掉运行状态的升腾终端绑定程序进程(centermtelnetd)
# 需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理
#   长时间无响应。
#	经查,升腾终端绑定程序与每个终端都有大量无效连接,即使,终
#   端离线占用的资源依然不释放,下次连接时又重新创建新连接,
#   重复。直至耗尽服务器可用资源同时CPU占用率100%
#	上述,个人凝为升腾程序BUG,联系厂家后暂未给出解决方法,临时
#   编写这个程序手动回收被过多占用的资源。
# 优点:批量KILL程序快速回收被占用的资源。
# 版本:v0.1
# 时间:2012-3-28 22:46
# 作者:半点闲
# 测试平台:
# SCO_SV scosysv 3.2 5.0.6 i386
############################################################

##############################
# ps:
# -e 显示所有进程,环境变量;
# -f 全格式;
# -l 长格式;
##############################
open (CEN,"ps -elf |") or die "Can't open wordcount:$!";

while (<CEN>){
#提取
#S(state of the process)域
#R:运行状态(runnig)的进程的PID
if (/R\s+\w+\s+(\d+).*center.*$/){
print "$&\n" if kill -9,$1;
}
}
close CEN;


被占用时top命令界面图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: