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