社区
Linux/Unix社区
帖子详情
请问AIX4.3.X上是否有Perfstat API(libperfstat.h)?
blueflame
2003-10-04 12:23:27
我在资料上看到AIX 5L是有的,有文档似乎提到(只是只言片语,具体情况不得而知)AIX 4.3.X要安装个什么包才行,是否有高手知道具体试要怎样才能使AIX 4.3.X上具有Perfstat API?谢谢!
...全文
155
5
打赏
收藏
请问AIX4.3.X上是否有Perfstat API(libperfstat.h)?
我在资料上看到AIX 5L是有的,有文档似乎提到(只是只言片语,具体情况不得而知)AIX 4.3.X要安装个什么包才行,是否有高手知道具体试要怎样才能使AIX 4.3.X上具有Perfstat API?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sexroute
2003-12-16
打赏
举报
回复
上面是安装包
sexroute
2003-12-16
打赏
举报
回复
x bos.perf.libperfstat x
x bos.perf.perfstat x
sexroute
2003-12-12
打赏
举报
回复
// sys_info_v1.cpp: implementation of the sys_info_v1 class.
// coded by 赵大力 12-10-2003
//////////////////////////////////////////////////////////////////////
#include "sys_info_v1.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
sys_info_v1::sys_info_v1()
{
}
sys_info_v1::~sys_info_v1()
{
}
//////////////////////////////////////////////////////////////////////////
// 获得整数型系统参数
//////////////////////////////////////////////////////////////////////////
long sys_info_v1::m_i_getPara(kstat_ctl_t *kc, char *szFirstClass, char *szSecondClass, char *szThirdClass)
{
if(this->m_i_isInit!=1){
this->m_i_initKstat();
}
kstat_t *ksp;
kstat_named_t *knp;
/*查询大类*/
if (!(ksp = kstat_lookup(kc, szFirstClass, -1, szSecondClass))) {
cout<<"zdl lookup "<<szFirstClass<<"failed!"<<endl;
exit(1);
}else{
}
if (kstat_read(kc,ksp,NULL)<0) {
cout<<"zdl read "<<szFirstClass<<"failed!"<<endl;
exit(1);
}else{
}
/*查询小类*/
knp = (kstat_named_t*)kstat_data_lookup(ksp, szThirdClass);
return knp->value.i32;
}
//////////////////////////////////////////////////////////////////////////
// 获得字符串型系统参数
//////////////////////////////////////////////////////////////////////////
char * sys_info_v1::m_sz_getPara(kstat_ctl_t *kc, char *szFirstClass, char *szSecondClass, char *szThirdClass)
{
if(this->m_i_isInit!=1){
this->m_i_initKstat();
}
kstat_t *ksp;
kstat_named_t *knp;
/*查询大类*/
if (!(ksp = kstat_lookup(kc, szFirstClass, -1, szSecondClass))) {
cout<<"zdl lookup "<<szFirstClass<<"failed!"<<endl;
exit(1);
}else{
}
if (kstat_read(kc,ksp,NULL)<0) {
cout<<"zdl read "<<szFirstClass<<"failed!"<<endl;
exit(1);
}else{
}
/*查询小类*/
knp = (kstat_named_t*)kstat_data_lookup(ksp, szThirdClass);
return knp->value.c;
}
//////////////////////////////////////////////////////////////////////////
// 获得系统基本信息cpu数量、主频、类型、物理内存容量
//////////////////////////////////////////////////////////////////////////
int sys_info_v1::getBaseInfo(_sysInfo *pSysinfo)
{
//////////////////////////////////////////////////////////////////////////
//利用uname api获得系统信息
//////////////////////////////////////////////////////////////////////////
struct utsname buf;
int href=uname ( &buf);
pSysinfo->buf=buf;
//////////////////////////////////////////////////////////////////////////
//得到内存页大小
//////////////////////////////////////////////////////////////////////////
int pagesize=this->pagesize;
pSysinfo->cCpuType=this->m_sz_getPara(this->kc,"cpu_info",NULL,"cpu_type");
pSysinfo->cCpuSpeed=this->m_i_getPara(this->kc,"cpu_info",NULL,"clock_MHz");
pSysinfo->cCpuNo=this->m_i_getPara(this->kc,"unix","system_misc","ncpus");
pSysinfo->cTotalMemory=(this->m_i_getPara(this->kc,"unix","system_pages","physmem")*(pagesize)/1024/1024);
return 0;
}
int sys_info_v1::m_i_initKstat()
{
this->kc=NULL;
//////////////////////////////////////////////////////////////////////////
// 获得系统页大小
//////////////////////////////////////////////////////////////////////////
this->pagesize= sysconf(_SC_PAGESIZE);
//////////////////////////////////////////////////////////////////////////
// 初始化kstat
//////////////////////////////////////////////////////////////////////////
if (!this->kc) {
if (!(this->kc = kstat_open())) {;
cout<<"kstat_open() failed! "<<endl;
exit(1);
}
}
if (kstat_chain_update(this->kc) < 0) {
cout<<"kstat_chain_update() failed! "<<endl;
exit(1);
}
this->m_i_isInit=1;
return 0;
}
int main(){
sys_info_v1 *p=new sys_info_v1();
_sysInfo *baseInfo=new _sysInfo();
//////////////////////////////////////////////////////////////////////////
// 初始化 kstat
//////////////////////////////////////////////////////////////////////////
p->m_i_initKstat();
//////////////////////////////////////////////////////////////////////////
// 获得基本信息
//////////////////////////////////////////////////////////////////////////
p->getBaseInfo(baseInfo);
cout<<baseInfo->cCpuSpeed<<endl;
cout<<baseInfo->cCpuType<<endl;
cout<<baseInfo->cTotalMemory<<endl;
cout<<baseInfo->cCpuNo<<endl;
cout<<(&(baseInfo->buf))->machine<<endl;
cout<<(&(baseInfo->buf))->nodename<<endl;
cout<<(&(baseInfo->buf))->release<<endl;
cout<<(&(baseInfo->buf))->sysname<<endl;
cout<<(&(baseInfo->buf))->version<<endl;
//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
return 0;
}
blueflame
2003-10-30
打赏
举报
回复
问了个IBM的AIX工程师,他说是有的,但一时也记不清还要安装哪个包了
哪位大虾知道的?还望不吝赐教,谢谢了!
foryijian
2003-10-08
打赏
举报
回复
我也想知道
OSHI-操作系统和硬件信息库
它提供了一组简单易用的
API
,可以用于检索和监控诸如操作系统类型、处理器信息、内存使用情况、硬盘信息、网络接口等系统和硬件相关的数据。获取操作系统信息:可以获取操作系统的名称、版本、构建信息、位数等。还...
【漂亮大气-PC端英文网站-响应式html5-整站模板】绿色全球商务外贸单页page网站(运行html文件可看效果).zip
资源说明: 1:本资料仅用作交流学习参考,请切勿用于商业用途。运行本网站模板下的html文件就可看到页面效果,有利于html、css、js的学习以及页面设计参考。 2:掌握这套 HTML 网站模板,即学即用!深度掌握页面布局、组件复用、模块化开发技巧,学习交互逻辑与动画实现。适用于个人作品集、企业官网、电商平台等场景,助您快速搭建专业网站,提升前端开发效率与项目经验!
RK3588部署yolo5模型视频教程
RK3588部署yolo5模型视频教程
人声美化基于DSP与AI的实时人声优化系统:直播与会议场景下的语音质量提升及商业化可行性分析
人声美化基于DSP与AI的实时人声优化系统:直播与会议场景下的语音质量提升及商业化可行性分析
词根sadsadsadas
仅自己可见sadsdasda
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章