solaris 10 下面如何获取cpu温度?请高手帮忙,不胜感激!
我的机器是HP ML350 G6,使用Xeon5500系列处理器,需要监控cpu的温度。由于不是Sparc处理器,所以使用prtdiag -v 命令无法获取cpu温度。于是我想写个小程序,通过读取处理器内部温度传感器的数值来获取cpu的温度。
在windows下可以通过类似下面的代码获取处理器内部温度传感器的数值:
C/C++ code
不知道这种方式能不能在Solaris下使用?
在Windows下需要在ring0下才能执行rdmsr指令,不知道在Solaris下是不是也需要进入ring0来执行这个指令?如果需要的话要怎么才能进入ring0?
除此之外有没有更好的办法获取cpu的温度?
还请高手指点,谢谢了。
在windows下可以通过类似下面的代码获取处理器内部温度传感器的数值:
C/C++ code
_asm { mov eax,6; cpuid; mov deax,eax; mov debx,ebx; mov decx,ecx; mov dedx,edx; mov ecx,0x19c; rdmsr; mov deax,eax; }
不知道这种方式能不能在Solaris下使用?
在Windows下需要在ring0下才能执行rdmsr指令,不知道在Solaris下是不是也需要进入ring0来执行这个指令?如果需要的话要怎么才能进入ring0?
除此之外有没有更好的办法获取cpu的温度?
还请高手指点,谢谢了。
作者: hf1414 发布时间: 2011-04-28
作者: thefirstz 发布时间: 2011-04-28