Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235165
  • 博文数量: 32
  • 博客积分: 1971
  • 博客等级: 上尉
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-15 12:54
文章分类

全部博文(32)

文章存档

2012年(6)

2011年(19)

2009年(7)

分类: Python/Ruby

2011-03-04 16:42:21

我发现一个有趣的问题,我的IOMS1.10ALPHA版本发布贴只有78个阅读,而我的前二篇IOMS开发日志却已经有170多次访问了。这说明了啥问题呢?也许是感觉兴趣的人很多,但大部分都在观望,同时想知道何时出正式版?已经有不少人通过各种渠道在询问我IOMS的情况了,我很高兴有这么多的人对这个系统感兴趣,我非常希望在未来这个系统会让更多人能使用上,而且喜欢上。

今天我解决了windows下取CPU数量的问题,之前我是使用WMIC来取的,这是因为我的程序中直接调用WMI有时可能会不能使用,我觉得这应该是WINDOWS的service机制的原因导致的,只要是service的程序,调用WMI接口,有些功能可用而有些会不可用。
我用WMIC来检查系统有多少个CPU,结果wmic cpu get numberofcores这个命令只能在我的XP下使用,它不支持windows 2003。导致昨天编译出来的版本有一些问题。我大约花了二到三个小时来查找何种方法可以知道当前几个CPU,终于最后找到一个解决办法,这里我把我收集的各种办法都列一下,有需要的人可以来找:

检查系统CPU个数(核数)的方法:
请注意,这个方法查到的是所有核数,而不只是CPU数,如果服务器开了超线程(HT)那么超线程也算一个核。

python2.6的方法(只支持python2.6以上版本,我用的是2.5所以我无法用。)
import multiprocessing
multiprocessing.cpu_count()
这个真是超简单,而且通杀windows和linux

windows下的方法(我现在用的是这个)
echo %NUMBER_OF_PROCESSORS%
这个真的是,踏破铁鞋无觅处……  当我发现这个解决方案时有一种吐血的冲动。

linux下的方法(在CEONTOS5.4下用过,可以
cat /proc/cpuinfo | grep processor | wc -l
在我的电脑上,1个CPU双核,显示为2,在我的测试服务器上DELL 750是2个CPU单核,显示为2,在我的另一台服务器,DELLR410 2个四核CPU,开了超线程,显示是16。这正是我要的数据。

今天在使用中发现了几次比较怪异的BUG,原因还不明,也未能重现,我还要再观察一下。1.当对多台服务器群发命令时,IOMSUI会一直显示等待,只能点取消。而单独一个个发,或者少发几台都正常,但当我逐个增加服务器最终到全部服务器时,此问题又不再重现了,非常怪;2.发现某次对多台服务器群发命令时,IOMServer报了一个UTF8编码错,大致报错方位是命令到达IOMServer后的屏显打印命令处,但此处我已经做编码转换,命令本身又不存在中文,不知道什么情况,重启了下IOMServer再试时,此问题又不再发生了。

现在还有最头大的问题是检测网卡流量了,这个问题查了不少资料,还是没有办法,这二天有空再啃啃win32API。希望有知道的人也能帮我一下。
另外,我有想增加个查看远程文件内容的功能,主要是看服务器上的日志文件会比较方便些。不过似乎windows下直接用type,未来linux用cat就行了,专门增加这个功能有点小题大作,正在考虑是不是现在就加上去。不过由于我对返回socket的数据通讯做了大小限制,所以如果查看的文件大于64K,只会返回64K,如果使用type看大于64K的文件,或者命令返回的结果大于64K,那就有问题了。
在我的测试环境,大约有4-8台服务器已经接入IOMS近三个月了,其中只是一个process 的表大约有100万条记录,在增加了索引后,速度还是很快,基本没有什么影响。按每台服务器监控每分钟2条监控数据来算,一天是2880条,一个月是86400条,这是一个表的记录,还有其他表总计全部加起来应该不会超过15万条记录。当然如果要监控的进程多,数据量还会增加。

从我现在的观察来看,IOMS系统的架构原型已经比较稳定,近期完善服务器组增加修改功能、多FileUpdateServer功能,再修掉一些已知的小BUG后,就准备放出正式版了,随后就是进入linux版本的开发了。关键在于通讯架构只要不会在未来再有大变更,linux版的开发我觉得应该是比较快的。
阅读(1183) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~