java占用系統(tǒng)內(nèi)存越來越高 JAVA程序開始之后VIRT占用過高是什么原因造成的,怎么解決?
JAVA程序開始之后VIRT占用過高是什么原因造成的,怎么解決?從代碼的角度來看,軟件開發(fā)人員關(guān)注java.lang.OutOfMemoryError錯(cuò)誤Java堆空間異??梢詼p少不必要的對(duì)象創(chuàng)建,避
JAVA程序開始之后VIRT占用過高是什么原因造成的,怎么解決?
從代碼的角度來看,軟件開發(fā)人員關(guān)注java.lang.OutOfMemoryError錯(cuò)誤Java堆空間異??梢詼p少不必要的對(duì)象創(chuàng)建,避免內(nèi)存泄漏?,F(xiàn)在用一個(gè)實(shí)例來分析內(nèi)存占用的故障排除。通過top命令,可以發(fā)現(xiàn)PID為9004的java進(jìn)程占用了相對(duì)較高的內(nèi)存量,并且沒有釋放它(24.7%)。PS-mp9004-O thread、TID、time、RSS、size、%MEM發(fā)現(xiàn)PS命令可以找到特定進(jìn)程的CPU使用情況,但找不到進(jìn)程中特定線程的內(nèi)存使用情況。
Java程序占用內(nèi)存太高了怎么辦?
1. 線程是否有睡眠時(shí)間。2睡眠時(shí)間設(shè)置是否合理。我猜你的程序一直在運(yùn)行以實(shí)現(xiàn)某種功能。設(shè)定睡眠時(shí)間是非常重要的。還有一個(gè)問題是函數(shù)中是否有IO,是否有占用內(nèi)存的代碼塊,這取決于具體的函數(shù)。簡單的線程,注意以上兩點(diǎn)。