狠狠网/色综合久久久久综合体桃花网/日本护士三aaaaaa/久久久久久综合一区中文字幕

或者

解決linux服務器內存占用過大問題

作者:一只德德牛(團隊-快排) 瀏覽:84 發布時間:2017-09-12
分享 評論 0

 今天到公司按照慣例檢查了下所有服務器的狀態,發現有臺服務器的內存占用比平常大很多,如下圖

  點擊查看原圖

  馬上qq上問了下程序開發是否最近這1-2天改了什么東西,在得知沒有改什么的情況下,馬上重啟了下php-fpm和nginx,重啟之后看了下,內存釋放出了1G,但這還不行,因為這臺服務器是8G內存,平時最多使用4G多的樣子,想今天使用到了7G多都快把服務器內存占用完了,很明顯是不正常的,繼續進行檢查.

  在檢查過程中,我使用了top來看到底是哪個進程占用內存最大,看了近1分鐘沒有發現什么,然后使用命令查看占用內存最大的10個進程:

  ps -aux | sort -k4nr | head -n 10

  也只是顯示了nginx和php-fpm占用內存最大,但我重啟了這兩個進程,看來跟他們2個無關,我又開始懷疑是不是服務器被黑了,馬上查看進程ps aux,這一看就發現了問題,有個腳本在進程里有很多個產生,馬上執行下面命令進行kill掉:

  kill -9 $(ps aux | grep 進程名 |grep -v grep| awk '{print $2}')

  現在這看內存使用率,內存終于正常了,好了,再觀察幾分鐘,沒有問題退出服務器了,繼續檢查那個腳本的問題.

  ps:這里要強調的事,不要根據自己的直覺去隨便以為是什么的問題,最好是調查清楚了再去執行,比如我這里就是根據自己的直覺以為是nginx和php-fpm的問題,還好是跟老大打了招呼重啟的,不然后果很嚴重.

  再給大家一個查看內存占用最大的進程的命令:

  ps aux| grep -v "USER" |sort -n -r -k 4 |awk 'NR==1{ print $0}'