Linux內(nèi)存異常問題如何處理-創(chuàng)新互聯(lián)

這篇文章主要介紹Linux內(nèi)存異常問題如何處理,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站建設、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設計、域名與空間、雅安服務器托管、網(wǎng)絡營銷、VI設計、 網(wǎng)站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。


1、查看系統(tǒng)內(nèi)存的使用情況
從中可以看到系統(tǒng)內(nèi)存總大小是31G,已使用21G,空閑9G,cache的2G,swap暫未使用

點擊(此處)折疊或打開

  1. free -g

  2. total       used       free     shared    buffers     cached

  3. Mem: 31         21          9          0          0          2

  4. -/+ buffers/cache: 19         11

  5. Swap: 3          0          3

2、查看系統(tǒng)進程內(nèi)存占用情況
通過top簡單M按照內(nèi)存使用情況排序看,系統(tǒng)內(nèi)存使用大的也就245M,總體使用不會超過19G

點擊(此處)折疊或打開

  1. top - 17:59:04 up  6:44, 1 user, load average: 0.00, 0.00, 0.00

  2. Tasks: 199 total, 1 running, 197 sleeping, 0 stopped, 1 zombie

  3. Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  4. Mem: 32864556k total, 22515836k used, 10348720k free, 71220k buffers

  5. Swap: 4128760k total, 0k used, 4128760k free, 2101028k cached

  6.    PID USER      PR  NI  VIRT  RES SHR S %CPU %MEM    TIME+ COMMAND

  7.   2892 oracle    20   0  211m  13m 9888 S  0.0  0.0   0:01.16 tnslsnr

  8.   2978 oracle    20   0  211m  13m 9888 S  0.0  0.0   0:01.17 tnslsnr

  9.   1353 root      20   0 53088 9312 6396 S  0.0  0.0   0:00.02 VGAuthService

  10.   1332 root      20   0  164m 7784 4572 S  0.0  0.0   0:12.95 vmtoolsd

  11.   1423 root      20   0  199m 5244 4344 S  0.0  0.0   0:07.58 ManagementAgent

  12.  72153 root      20   0 98.1m 4016 3028 S  0.0  0.0   0:00.24 sshd

  13.  72157 root      20   0  105m 1960 1544 S  0.0  0.0   0:00.14 bash

  14.   1550 root      20   0  245m 1744 1104 S  0.0  0.0   0:00.11 rsyslogd

3、通過腳本進一步查看系統(tǒng)內(nèi)存使用情況
查看所有PID使用的內(nèi)存大值以及當前值

點擊(此處)折疊或打開

  1. for pid in `ls /proc/|grep "^[0-9]"`; do echo $pid;cat /proc/${pid}/status|grep  VmPeak|awk -F':' '{print $2}'|grep -v "^$|^#"|sort -nk 1 ; done

 for pid in `ls /proc/|grep  "^[0-9]"`; do echo $pid;cat /proc/${pid}/status|grep  RSS|awk -F':' '{print $2}'|grep -v "^$|^#"|sort -nk 1  ; done

4、通過上述的兩個內(nèi)存查看,基本可以排除是由于進程占用了大量的系統(tǒng)內(nèi)存,那么我們還有什么思路會導致系統(tǒng)內(nèi)存被大量占用呢?
由于這些服務器是虛擬機,我懷疑是不是由于物理內(nèi)存的共享導致的內(nèi)存占用呢?  (由于宿主機不在我這,所以這個不好排查)
或者會不會是某個內(nèi)存占用,未釋放導致的系統(tǒng)內(nèi)存被占用?(經(jīng)過重啟服務器,發(fā)現(xiàn)系統(tǒng)內(nèi)存在啟動即被占用19G)
亦或者是某個系統(tǒng)參數(shù)設置導致系統(tǒng)內(nèi)存被啟動就分配占用?(聯(lián)想到hugepage可能會導致此類問題)
5、檢查hugepage是否開啟
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled    (其他非rhel linux 可使用cat /sys/kernel/mm/transparent_hugepage/enabled)
[always] madvise never
發(fā)現(xiàn)系統(tǒng)開啟了透明大頁,通過下面命令進一步確認
# cat /proc/meminfo | grep -i huge
AnonHugePages:         0 kB
HugePages_Total:    9732
HugePages_Free:     9732
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
6、關(guān)閉Hugepage,釋放內(nèi)存
vi /etc/sysctl.conf
#vm.nr_hugepages = 9732    將大頁數(shù)量的配置注釋掉或者刪除,然后通過sysctl -p使其生效
vi /etc/security/limits.conf
#oracle              soft    memlock         unlimited        ##用戶內(nèi)存鎖限制注釋掉
#oracle              hard    memlock         unlimited
重啟OS,檢查系統(tǒng)內(nèi)存是否正常,大頁是否關(guān)閉
free -g
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
cat /proc/meminfo | grep -i huge

7、Hugepage附錄
(1)開啟hugepage優(yōu)缺點
  優(yōu)點:提高TLB的命中率、利用HugePages不會被Swap 的特性保證內(nèi)存不會被交換到Swap中
  缺點:占用較大的系統(tǒng)內(nèi)存,即時不起任何應用的情況下,也會占用固定大小系統(tǒng)內(nèi)存。
(2)使用開啟大頁場景
    共享內(nèi)存設置超過8G+,并且需要做大數(shù)據(jù)處理,保障數(shù)據(jù)盡量在內(nèi)存中不會被經(jīng)常swap
(3)查看系統(tǒng)頁大小和系統(tǒng)塊大小
    getconf PAGESIZE
    tune2fs -l /dev/sda1 |grep 'Block size'
(4)大頁默認大小以及數(shù)量設置
    大頁的默認大小是2M,可通過/etc/sysctl.conf  vm.nr_hugepages = 9732設置大頁的數(shù)量,總的大頁大小是9732*2/1024=19G

以上是“Linux內(nèi)存異常問題如何處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!

當前標題:Linux內(nèi)存異常問題如何處理-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://bm7419.com/article0/djhhoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化做網(wǎng)站、手機網(wǎng)站建設電子商務、定制開發(fā)、服務器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司