check模块功能:
通过该模块将系统的资源信息采集,发送给adm,使得用户可以根据当下系统资源使用情况来做出对上层应用参数的调优分析策略。
cpu_info check
概述: 检查当前系统的cpu信息。将cpu信息发送给adm性能调优工具。
定义的结构体:
大部分结构体信息都存在了xml文件中。
结构体名 | 参数属性 | 含义 |
---|---|---|
CPUInfo | Path | 代表了内存的拓扑类型,字符串形式的cpu信息。 |
setting | ID ,Value | 存在了xml文件中。 |
configuration | setting数组 | 在一个xml单元中一个attr 代表一个属性。 |
node | ID,Claimed(断言),Disabled,Version,Size,Configuration | 一般来说一个物理cpu构成一个node 。 |
cpuProcessor | XMLName,Nodes | cpu节点和xmlname构成 |
定义的函数:
函数名 | 作用 |
---|---|
init() | 寄存器检查服务的开启 |
init() 是CPUInfo的方法,返回值类型error | 定义init失败的函数。 |
Check()是CPUInfo的方法,返回值类型error | 该文件的核心功能函数:①开启操作系统,②将文件的关闭压入defer栈,③ioutil(io模块)读取所有文件,④定义cpu对象,将cpu对象传入xml散集函数参数中。⑤sendChanToAdm 给adm工具发送cpu信息,adm可以动态调优cpu性能模式。⑥遍历cpu节点,打印cpu的版本,频率(HZ),cores,打印node的ID,版本,大小,cores。并将上述信息封装成一个变量作为参数,再次用sendChanToAdm发送给adm工具。 |
check运行截图: (单核虚拟机中)
cpu_topo.go
概述:与mem_topo.go很相似,在结构体中少了一个布尔类型的属性,
结构体:
结构体名 | 参数 | 含义 |
---|---|---|
CPUTopo | Path | 代表一种内存的拓扑类型 |
info | NameValue | xml类型的信息存储、传递方式。 |
machine | [ ]Info | info数组 |
cpuTopology | XMLNameMachine | 最终生成的子类 |
方法:
方法名 | 作用 |
---|---|
init() | 将cpu的信息传入到registry包下checkerServices切片中去,初始化检测操作。 |
Init() error | CPUTopo的方法,初始化cpu,将初始化失败的信息返回给monitor 服务 |
Check(ch chan *PB.AckCheck) error | CPUTopo的方法,操作系统、BIOS开启后向adm发送开启成功的信息。 |
network_topo.go
概述:
与cpu_topo的代码很相似,代表一种网络的拓扑,功能是初始化网络,将network.Name,network.Product发送到adm。
mem_topo.go
概述:
定义内存拓扑类型。将内存的检测信息发送给adm命令行客户端。
结构体:
结构体名称 | 参数 | 含义 |
---|---|---|
MemTopo | Path,DisableChecker | 代表一种内存的拓扑类型 |
Children | ID Class Claimed Handle Description Product Vendor Physid Serial Slot Units Size Width Clock | 内存信息的子信息 |
memorysInfo | ID Physid Childrens | 内存的信息 |
topology | XMLName Memorys | 拓扑类型 |
方法:
方法名 | 作用 |
---|---|
init() | 结构体MemTopo 的方法,将内存的信息传入到registry包下checkerServices切片中去,初始化检测操作。 |
Init() error | MemTopo 的方法,初始化内存,将初始化失败的信息返回给monitor 服务。 |
IsCheckDisabled() bool | MemTopo 的方法,当运行check命令时, 使得check方法停止。 |
Check(ch chan *PB.AckCheck) error | 检查内存拓扑,判断内存增长是否平衡。 |
sendChanToAdm(ch chan *PB.AckCheck, item string, status string, description string) | 将检测信息发送给adm命令行客户端。 |
欢迎交流
numa_mem模块待更新···
escription string) | 将检测信息发送给adm命令行客户端。 |
欢迎交流
numa_mem模块待更新···