成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Linux下Swap的用法-創(chuàng)新互聯(lián)

這篇文章主要講解了“Linux下Swap的用法”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux下Swap的用法”吧!

市中ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

Linux操作系統(tǒng)性能分析主要包含磁盤IO、CPU、內(nèi)存以及網(wǎng)絡(luò)流量,而這里主要針對系統(tǒng)內(nèi)存的使用進程情況做個分析。
一、如何查看系統(tǒng)內(nèi)存使用情況
1、根據(jù)常用命令查看系統(tǒng)內(nèi)存使用概況
free  -g
                   total       used       free     shared    buffers     cached
Mem:            31           31          0          0          0          3
-/+ buffers/cache:         28          3
Swap:           15             7          7
(根據(jù)free命令可以看到,系統(tǒng)使用了28G的物理內(nèi)存,3G的剩余內(nèi)存,其中swap總15G,已使用7G)

top  (f p M)
top - 14:18:50 up 1280 days,  7:15,  1 user,  load average: 1.05, 1.25, 1.12
Tasks: 229 total,   1 running, 227 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.2%us,  0.1%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  32949816k total, 32848840k used,   100976k free,   169308k buffers
Swap: 16771776k total,  8384616k used,  8387160k free,  3276360k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP DATA COMMAND                                                      
12428 mysql     15   0 22.2g  20g 3964 S  3.3 66.5  91946:06 1.3g  22g mysqld                                                       
22840 cyldj     15   0 9059m 6.7g 9012 S  0.0 21.5  22:05.42 2.1g 8.7g DBAgent                                                      
28689 root      15   0  358m  30m 3036 S  0.0  0.1 187:37.41 328m 137m salt-minion                                                  
30768 cyldj     21   0  462m  10m 1908 S  0.0  0.0  10:44.60 451m 373m java                                                         
22567 root      15   0 86004 3292 2576 S  0.0  0.0   0:00.01  80m  688 sshd                                                         
28690 root      20   0  267m 2188  704 S  0.0  0.0   0:00.00 264m  47m salt-minion                                                  
  661 root      18   0 16340 1836 1632 S  0.0  0.0   0:47.42  14m  308 zabbix_agentd                                                
22569 root      15   0 68156 1520 1188 S  0.0  0.0   0:00.02  65m  408 bash                                                         
 2901 root      18   0  197m 1336  884 S  0.0  0.0   4:04.57 196m 174m AxisAgent                                                    
11236 root      15   0 60672 1324  760 S  0.0  0.0   2:01.21  57m  608 sshd                                                         
  665 root      15   0 18432 1260  992 S  0.0  0.0  11:39.82  16m  308 zabbix_agentd                                                
  662 root      15   0 18432 1256  992 S  0.0  0.0  11:43.36  16m  308 zabbix_agentd
(根據(jù)top命令可以看到使用內(nèi)存大的進程是mysql進程,其次是dbagent,其中dbagent使用的交換分區(qū)較多)

nmon (m)

nmon下載地址:
/tupian/20230522/ (RHEL5)
/tupian/20230522/download (RHEL6)
(通過nmon可以看到內(nèi)存的詳細分配情況,其中總內(nèi)存為32177.6 MB,總swap 16378.7 MB ,空閑93.4 MB,可回收3188.2+166.5 MB,已使用交換分區(qū)7273.6MB,已使用的活動數(shù)據(jù)大小為30099.9MB,可以被交換出內(nèi)存的數(shù)據(jù)大小為1590.7  MB)

2、根據(jù)系統(tǒng)監(jiān)控查看系統(tǒng)內(nèi)存使用情況

(近7天的內(nèi)存使用情況)
3、查看指定進程的系統(tǒng)內(nèi)存使用信息
cat /proc/22840/statm
#virt    res     shr  text lib data dt  
2319113 1768037 2253 3836 0 2292997 0
(上述是查看dbagent的內(nèi)存使用信息,其中單位是頁數(shù),所以要看系統(tǒng)頁大小4K,第一列是虛擬內(nèi)存2319113頁,第二列是駐留內(nèi)存1768037頁,第三列是共享內(nèi)存2253頁,進程獨占內(nèi)存大小為res-shr)
getconf  PAGESIZE
4096
awk '/^Swap:/ {SWAP+=$2}END{print SWAP" KB"}' /proc/${pid}/smap
for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr
(上述命令可以查看進程虛擬內(nèi)存使用情況)
cat /proc/22840/status |grep Vm
VmPeak:  9341632 kB
VmSize:  9276452 kB
VmLck:         0 kB
VmHWM:   7074296 kB
VmRSS:   7073540 kB
VmData:  9171904 kB
VmStk:        84 kB
VmExe:     15344 kB
VmLib:      4728 kB
VmPTE:     15596 kB
(上述命令可以查看指定進程的內(nèi)存使用情況VmSize表示虛擬內(nèi)存大小,VmRSS表示駐留內(nèi)存大小)
二、綜合分析MYSQL數(shù)據(jù)庫內(nèi)存使用情況
sh show_mem_usage.sh
全局內(nèi)存大?。?8592.00 MB
單線程大內(nèi)存:25.18 MB
大線程占用內(nèi)存: 8815.62 MB
歷史大線程占用內(nèi)存: 5213.81 MB
Innodb Buffer Pool使用率: 99.00%
從mysql的內(nèi)存使用和總的物理內(nèi)存使用來看,服務(wù)器的內(nèi)存使用已經(jīng)基本達到上限(mysql駐留內(nèi)存大約是21G,dbagent大約為7G,物理總內(nèi)存為31G,緩存了3G,大約有2G左右的非活動區(qū)內(nèi)存),當mysql進程、dbagent使用超過5G內(nèi)存,物理內(nèi)存不夠,就會使用到了swap分區(qū)。
三、什么情況下會使用swap分區(qū)
1、物理內(nèi)存確實不夠用的情況下,會使用到swap分區(qū)。
2、物理內(nèi)存還有足夠的內(nèi)存使用,比如cache,buffer的剩余較多的情況下使用了swap分區(qū)
四、使用swap分區(qū)擴展
如果有足夠的物理內(nèi)存,依舊使用了swap分區(qū),可以從以下幾方面查看為什么使用了swap分區(qū)
1、swap分區(qū)比例調(diào)整
cat /etc/sysctl.conf  |grep swap    
vm.swappiness=0
設(shè)置為0表示優(yōu)先大限度的使用物理內(nèi)存緩存數(shù)據(jù),而不是磁盤作為分區(qū),值越大越不利于物理內(nèi)存的充分利用
2、numa陷阱

為了提高cpu和內(nèi)存的數(shù)據(jù)訪問速度、并發(fā)度,設(shè)計了numa架構(gòu),但如果numa的內(nèi)存分配策略不合理,那么將會嚴重影響到內(nèi)存的使用,尤其是對大內(nèi)存塊使用的數(shù)據(jù)庫服務(wù)器。
#numactl --hardware   
available: 2 nodes (0-1)
node 0 size: 16160 MB
node 0 free: 15 MB
node 1 size: 16131 MB
node 1 free: 78 MB
node distances:
node   0   1
  0:  10  20
  1:  20  10
(上述命令可以查看各個node節(jié)點的物理內(nèi)存分配情況,可以看到兩節(jié)點的內(nèi)存分配比例基本平均,如果node0節(jié)點free和和node1的free值相差較大,說明分配策略存在問題,很大可能會帶來swap使用,而物理內(nèi)存空閑的狀態(tài))
也可以通過查看numastat查看numa的miss和hit比例來進一步確認
#numastat
                           node0           node1
numa_hit             39150779957     38736256884
numa_miss             2658848763      8851827358
numa_foreign          8851827296      2658848763
interleave_hit         122652306       137287417
local_node           39096884744     38598664497
other_node            2712743976      8989419745
3、解決方案
(1)啟用大頁管理
(2)關(guān)閉numa
***BIOS關(guān)閉NUMA
***啟動內(nèi)核關(guān)閉:
vi /boot/grub/grub.conf
kernel /boot/vmlinuz-2.6.18-128.1.16.0.1.el5 root=LABEL=DBSYS ro bootarea=dbsys rhgb quiet console=ttyS0,115200n8 console=tty1 crashkernel=128M@16M numa=off
重啟操作系統(tǒng),通過cat /proc/cmdline和numactl --hardware查看是否關(guān)閉
(3)調(diào)整內(nèi)核參數(shù)
內(nèi)核參數(shù):zone_reclaim_mode,如果為0的話,那么系統(tǒng)會傾向于從其他節(jié)點分配內(nèi)存,如果是1表示系統(tǒng)會傾向于從本地節(jié)點回收Cache內(nèi)存多數(shù)時候
               vm.swappiness=0

echo 0 > /proc/sys/vm/zone_reclaim_mode ; echo "vm.zone_reclaim_mode = 0" >> /etc/sysctl.conf
(4)調(diào)整內(nèi)核參數(shù)
Mysql可以調(diào)整相關(guān)參數(shù)、交叉啟動方式來改善numa,例如numactl --interleave=all  /etc/init.d/mysql start
localalloc規(guī)定進程從當前node上請求分配內(nèi)存;
preferred比較寬松地指定了一個推薦的node來獲取內(nèi)存,如果被推薦的node上沒有足夠內(nèi)存,進程可以嘗試別的node。
membind可以指定若干個node,進程只能從這些指定的node上請求分配內(nèi)存。
interleave規(guī)定進程從指定的若干個node上以RR(Round Robin 輪詢調(diào)度)算法交織地請求分配內(nèi)存。

#NUMA support

numa_interleave = 1
innodb_buffer_pool_populate = 1
flush_caches=1

感謝各位的閱讀,以上就是“Linux下Swap的用法”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Linux下Swap的用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

網(wǎng)頁標題:Linux下Swap的用法-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article0/ccpoio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、定制網(wǎng)站網(wǎng)站改版、標簽優(yōu)化ChatGPT、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)
东乡县| 淄博市| 镇赉县| 阳东县| 鸡泽县| 齐齐哈尔市| 灵璧县| 马边| 高安市| 遂昌县| 井陉县| 台山市| 花垣县| 乌兰县| 武陟县| 个旧市| 玛纳斯县| 科尔| 闸北区| 马龙县| 轮台县| 霍林郭勒市| 井研县| 西和县| 尖扎县| 澄城县| 中卫市| 南充市| 兴宁市| 江油市| 兴义市| 瓮安县| 鹤山市| 腾冲县| 江门市| 泉州市| 游戏| 淳化县| 云浮市| 惠安县| 昌吉市|