今天到公司按照慣例檢查了下所有服務器的狀態(tài),發(fā)現(xiàn)有臺服務器的內存占用比平常大很多,如下圖
馬上qq上問了下程序開發(fā)是否最近這1-2天改了什么東西,在得知沒有改什么的情況下,馬上重啟了下php-fpm和nginx,重啟之后看了下,內存釋放出了1G,但這還不行,因為這臺服務器是8G內存,平時最多使用4G多的樣子,想今天使用到了7G多都快把服務器內存占用完了,很明顯是不正常的,繼續(xù)進行檢查.
在檢查過程中,我使用了top來看到底是哪個進程占用內存最大,看了近1分鐘沒有發(fā)現(xiàn)什么,然后使用命令查看占用內存最大的10個進程:
ps -aux | sort -k4nr | head -n 10
也只是顯示了nginx和php-fpm占用內存最大,但我重啟了這兩個進程,看來跟他們2個無關,我又開始懷疑是不是服務器被黑了,馬上查看進程ps aux,這一看就發(fā)現(xiàn)了問題,有個腳本在進程里有很多個產生,馬上執(zhí)行下面命令進行kill掉:
kill -9 $(ps aux | grep 進程名 |grep -v grep| awk '{print $2}')
現(xiàn)在這看內存使用率,內存終于正常了,好了,再觀察幾分鐘,沒有問題退出服務器了,繼續(xù)檢查那個腳本的問題.
ps:這里要強調的事,不要根據(jù)自己的直覺去隨便以為是什么的問題,最好是調查清楚了再去執(zhí)行,比如我這里就是根據(jù)自己的直覺以為是nginx和php-fpm的問題,還好是跟老大打了招呼重啟的,不然后果很嚴重.
再給大家一個查看內存占用最大的進程的命令:
ps aux| grep -v "USER" |sort -n -r -k 4 |awk 'NR==1{ print $0}'
評論(0人參與,0條評論)
發(fā)布評論
最新評論