最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

MySQL如何處理使用swap

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 14:01:41
文檔

MySQL如何處理使用swap

MySQL如何處理使用swap:MySQL如何避免使用swap 原文: http://www.taobaodba.com/html/552_mysql_avoid_swap.html Linux有很多很好的內(nèi)存、IO調(diào)度機(jī)制,但是并不會(huì)適用于所有場(chǎng)景。對(duì)于DBA來說Linux比較讓人頭疼的一個(gè)地方是,它不會(huì)因?yàn)镸ySQL 很重要就避免將分配給My
推薦度:
導(dǎo)讀MySQL如何處理使用swap:MySQL如何避免使用swap 原文: http://www.taobaodba.com/html/552_mysql_avoid_swap.html Linux有很多很好的內(nèi)存、IO調(diào)度機(jī)制,但是并不會(huì)適用于所有場(chǎng)景。對(duì)于DBA來說Linux比較讓人頭疼的一個(gè)地方是,它不會(huì)因?yàn)镸ySQL 很重要就避免將分配給My

MySQL如何避免使用swap 原文: http://www.taobaodba.com/html/552_mysql_avoid_swap.html ? Linux有很多很好的內(nèi)存、IO調(diào)度機(jī)制,但是并不會(huì)適用于所有場(chǎng)景。對(duì)于DBA來說Linux比較讓人頭疼的一個(gè)地方是,它不會(huì)因?yàn)镸ySQL 很重要就避免將分配給MySQL的地址空

MySQL如何避免使用swap

原文:

http://www.taobaodba.com/html/552_mysql_avoid_swap.html

?

Linux有很多很好的內(nèi)存、IO調(diào)度機(jī)制,但是并不會(huì)適用于所有場(chǎng)景。對(duì)于DBA來說Linux比較讓人頭疼的一個(gè)地方是,它不會(huì)因?yàn)镸ySQL 很重要就避免將分配給MySQL的地址空間映射到swap上。對(duì)于頻繁進(jìn)行讀寫操作的系統(tǒng)而言,數(shù)據(jù)看似在內(nèi)存而實(shí)際上在磁盤是非常糟糕的,響應(yīng)時(shí)間的增 長(zhǎng)很可能直接拖垮整個(gè)系統(tǒng)。這篇blog主要講講我們作為DBA,怎樣盡量避免MySQL慘遭swap的毒手。

首先我們要了解點(diǎn)基礎(chǔ)的東西,比如說為什么會(huì)產(chǎn)生swap。假設(shè)我們的物理內(nèi)存是16G,swap是4G。如果MySQL本身已經(jīng)占用了12G物理內(nèi)存, 而同時(shí)其他程序或者系統(tǒng)模塊又需要6G內(nèi)存,這時(shí)候操作系統(tǒng)就可能把MySQL所擁有的一部分地址空間映射到swap上去。

cp一個(gè)大文件,或用mysqldump導(dǎo)出一個(gè)很大的數(shù)據(jù)庫的時(shí)候,文件系統(tǒng)往往會(huì)向Linux申請(qǐng)大量的內(nèi)存作為cache,一不小心就會(huì)導(dǎo)致L使用swap。這個(gè)情景比較常見,以下是最簡(jiǎn)單的三個(gè)調(diào)整方法:
1、/proc/sys/vm/swappiness的內(nèi)容改成0(臨時(shí)),/etc/sysctl.conf上添加vm.swappiness=0(永久)
這個(gè)參數(shù)決定了Linux是傾向于使用swap,還是傾向于釋放文件系統(tǒng)cache。在內(nèi)存緊張的情況下,數(shù)值越低越傾向于釋放文件系統(tǒng)cache。
當(dāng)然,這個(gè)參數(shù)只能減少使用swap的概率,并不能避免Linux使用swap。
2、修改MySQL的配置參數(shù)innodb_flush_method,開啟O_DIRECT模式。
這種情況下,InnoDB的buffer pool會(huì)直接繞過文件系統(tǒng)cache來訪問磁盤,但是redo log依舊會(huì)使用文件系統(tǒng)cache。值得注意的是,Redo log是覆寫模式的,即使使用了文件系統(tǒng)的cache,也不會(huì)占用太多。
3、添加MySQL的配置參數(shù)memlock
這個(gè)參數(shù)會(huì)強(qiáng)迫mysqld進(jìn)程的地址空間一直被鎖定在物理內(nèi)存上,對(duì)于os來說是非常霸道的一個(gè)要求。必須要用root帳號(hào)來啟動(dòng)MySQL才能生效。

還有一個(gè)比較復(fù)雜的方法,指定MySQL使用大頁內(nèi)存(Large Page)。Linux上的大頁內(nèi)存是不會(huì)被換出物理內(nèi)存的,和memlock有異曲同工之妙。具體的配置方法可以參 考:http://harrison-fisk.blogspot.com/2009/01/enabling-innodb-large-pages- on-linux.html

?

更多參考:http://robbin.iteye.com/blog/461382

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MySQL如何處理使用swap

MySQL如何處理使用swap:MySQL如何避免使用swap 原文: http://www.taobaodba.com/html/552_mysql_avoid_swap.html Linux有很多很好的內(nèi)存、IO調(diào)度機(jī)制,但是并不會(huì)適用于所有場(chǎng)景。對(duì)于DBA來說Linux比較讓人頭疼的一個(gè)地方是,它不會(huì)因?yàn)镸ySQL 很重要就避免將分配給My
推薦度:
標(biāo)簽: 怎么處理 使用 處理
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top