문자 메시지 로 인 한 사고
2949 단어 zabbix
질문 발견:
8G 메모 리 는 7G 를 차지 하고 자바 프로 세 스 는 설정 되 어 있 습 니 다. -Xms2048m -Xmx2048m ,그 메모리 어디 갔 어?
마침 azkaban 계산 에 사용 가능 한 메모리 코드 를 보 았 습 니 다. 코드 는 다음 과 같 습 니 다.
private static void readMemoryInfoFile() {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(MEMINFO_FILE));
long sizeMemFree = 0;
long sizeBuffers = 0;
long sizeCached = 0;
long sizeSwapCached = 0;
int count = 0;
String line = br.readLine();
while (line != null) {
if (line.startsWith("MemFree:") || line.startsWith("Buffers:")
|| line.startsWith("Cached") || line.startsWith("SwapCached")) {
int idx1 = line.indexOf(":");
int idx2 = line.lastIndexOf("kB");
String strSize = line.substring(idx1+1, idx2-1).trim();
if (line.startsWith("MemFree:")) {
sizeMemFree = Long.parseLong(strSize);
} else if (line.startsWith("Buffers:")) {
sizeBuffers = Long.parseLong(strSize);
} else if (line.startsWith("Cached:")) {
sizeCached = Long.parseLong(strSize);
} else if (line.startsWith("SwapCached:")) {
sizeSwapCached = Long.parseLong(strSize);
}
//all lines read
if (++count == 4) {
break;
}
}
line = br.readLine();
}
if (count < 4) {
logger.error("Error: less than 4 rows read from /proc/meminfo for free memory information");
}
long sizeTotal = sizeMemFree + sizeBuffers + sizeCached + sizeSwapCached;
logger.info(String.format("Current system free memory is %d kb (MemFree %d, Buffers %d, Cached %d, SwapCached %d)",
sizeTotal, sizeMemFree, sizeBuffers, sizeCached, sizeSwapCached));
if (sizeTotal > 0) {
updateFreeMemAmount(sizeTotal);
}
} catch (IOException e) {
logger.error("Exception in reading memory info file", e);
} finally {
try {
if (br != null) {
br.close();
}
} catch (IOException e) {
logger.error("Exception in closing the buffered reader", e);
}
}
}
앞으로 기계 의 사용 가능 한 메모 리 를 어떻게 계산 하 는 지 모 르 지 마 세 요!
명령 행 방식 은
cat /proc/meminfo | grep -E "^MemTotal:|^MemFree:|^Buffers:|^Cached:|^SwapCached:"
참고:
azkaban.execapp.ServerStatisticsServlet.fillRemainingMemoryPercent
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ESP-WROOM-02에서 Zabbix 서버로 Zabbix sender 프로토콜로 데이터 보내기zabbix_sender 명령에서 서버로 데이터를 전송하는 데 사용되는 프로토콜은 비교적 간단하며 네트워크에 연결할 수있는 마이크로 컴퓨터이면 충분히 구현할 수 있습니다. 이 프로토콜을 ESP-WROOM-02인 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.