📄 memorymoscalar.java
字号:
package com.poson.nmi.mo;
import org.apache.log4j.Logger;
import org.snmp4j.agent.MOAccess;
import org.snmp4j.agent.mo.MOScalar;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.OID;
import com.poson.common.LogManager;
public class MemoryMOScalar extends MOScalar {
public final static int TOTAL_SIZE = 1 ;
public final static int USED_SIZE = 2 ;
public final static int FREE_SIZE = 3 ;
public final static int USAGE = 4 ;
protected static Logger logger = LogManager.getLogger(MemoryMOScalar.class) ;
//protected static HashMap<String,MOBean> MOMap ;
private int mmParam ;
public MemoryMOScalar(OID oid, MOAccess access,int mmParam) {
super(oid, access, new OctetString());
this.mmParam = mmParam ;
setValue();
setVolatile(true);
}
public int setValue() {
String newValue = "0" ;
newValue = getMMParam() ;
return super.setValue(new OctetString(newValue));
}
private String getMMParam()
{
String cmd = "" ;
String retVal = "-1" ;
switch( mmParam )
{
case TOTAL_SIZE:
retVal = String.valueOf(Runtime.getRuntime().totalMemory()) ;
break ;
case USED_SIZE:
retVal = String.valueOf(Runtime.getRuntime().totalMemory() -
Runtime.getRuntime().freeMemory()) ;
break ;
case FREE_SIZE:
retVal = String.valueOf(Runtime.getRuntime().freeMemory()) ;
break;
case USAGE:
retVal = String.valueOf(100*(float)(Runtime.getRuntime().totalMemory() -
Runtime.getRuntime().freeMemory())/Runtime.getRuntime().totalMemory()) +"%";
break;
default:
break;
}
return retVal ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -