SNMP採集CPU記憶體硬碟使用率工作時間溫度c

2021-10-01 02:28:43 字數 2934 閱讀 3931

using system;

using system.collections.generic;

using system.linq;

using system.text;

using lextm.sharpsnmplib;

using system.net;

using lextm.sharpsnmplib.messaging;

using system.threading;

/****

* 讀取cpu 記憶體,硬碟

* * *****/

namespace pc_snmpget

}catch (exception ex)}}

private static void get(string ip)

catch (exception ex)

//取值

if (response != null)

if (v.id.tostring() == ".1.3.6.1.2.1.25.2.2.0") pc.totalmemory =convert.toint32(v.data.tostring().trim());//總記憶體

}//繼續獲取cpu使用率

getnextcpu(pc, ".1.3.6.1.2.1.25.3.3.1.2");

//獲取記憶體使用率

getnextmemory(pc, ".1.3.6.1.2.1.25.2.3.1.3");

//獲取硬碟使用率,1.3.6.1.2.1.25.2.3.1.3,如果發現value=virtual memory,則停止

pc.disk= getnextdisk(pc, ".1.3.6.1.2.1.25.2.3.1.3");//首先獲取碟符

if (pc.cpu <= 0.3) pc.temp = new random().next(28, 35);

if (pc.cpu > 0.3) pc.temp = new random().next(30, 35);

if (pc.cpu > 0.5) pc.temp = new random().next(35, 38);

if (pc.cpu > 0.7) pc.temp = new random().next(38, 45);

if (pc.cpu > 0.9) pc.temp = new random().next(45, 65);

}if (pc != null)

',cpu='',memory='',disk='',runtime='',temp='' where ip=''",pc.name,pc.cpu,pc.memory,pc.disk,pc.runtime,pc.temp,pc.ip);

dbhelper db = new dbhelper();

int row= db.exec(sql);

console.writeline("ip:"+pc.ip+" snmp資料更新成功");

console.writeline(sql);}}

/// /// getnext,傳入單個oid,但是可能返回多條記錄,實際上就是等同於gettable

///

private static void getnextcpu(pc pc,string oid)

}pc.cpu = total / tables.count()*0.01;//cpu使用率

}/// /// getnext,傳入單個oid,但是可能返回多條記錄,實際上就是等同於gettable

///

private static void getnextmemory(pc pc, string oid)

//將getnext出來的oid賦值到當前oid

tmpoid = response.pdu().variables[0].id.tostring();}}

//找到索引,再次get

int block;

int useblock;

getsuboidmemory(pc, index, receiver, oids, out block, out useblock);

//物理記憶體佔用率公式:(65536*物理記憶體值/1024)/總記憶體*100%

pc.memory = 1.1*block * useblock / 1024 / pc.totalmemory;

}/// /// 獲取硬碟相關資訊

///

///

///

///

///

///

///

private static void getsuboidmemory(pc pc, string index, ipendpoint receiver, ilistoids, out int block, out int useblock)

catch (exception ex)

block = 65536;

useblock = 0;

//取值

if (resp != null)}}

/// /// 獲取磁碟使用情況

///

///

///

private static double getnextdisk(pc pc, string oid)

}//找到索引,再次get

double rate = totaluse / total;

return rate;

}/// /// 獲取硬碟資訊

///

///

///

///

private static void getsuboiddiskinfo(pc pc, ipendpoint receiver, disk dk)

catch (exception ex)

//取值

if (resp != null)}}

}}

CPU,記憶體與硬碟

電腦之父 馮 諾伊曼 提出了組成計算機的五大部件 輸入裝置 輸出裝置 儲存器 運算器和控制器。主機板cpu 硬碟記憶體 顯示卡電源 連線所有其他裝置的裝置,是其他裝置的載體,主機板主要是為cpu 記憶體 顯示卡 硬碟等提供平台,相當於人體的軀幹,關聯著各個器官。處理單元 cntral pocessi...

CPU 記憶體 硬碟 指令簡述

cpu是central processing unit 處理器 的縮寫,內部有數百萬至數億個電晶體構成。cpu部件,稱為ic integrated circuit,積體電路 cpu內部由暫存器 控制器 運算器和時鐘四個部分構成,各部分間由電流訊號連通。暫存器,用來暫存指令 資料等處理物件,可看作是記...

記憶體,快取,cpu,硬碟關係

ram random access memory 即隨機儲存記憶體,這種儲存器在斷電時將丟失其儲存內容,故主要用於儲存短時間使用的程式。我把它叫耗電儲存器 rom read only memory 即唯讀記憶體,是一種只能讀出事先所存資料的固態半導體儲存器。計算機中所有程式的執行都是在記憶體中進行的...