日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql+使用swap_MySQL避免使用SWAP

發(fā)布時間:2025/3/11 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql+使用swap_MySQL避免使用SWAP 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當(dāng)物理內(nèi)存的數(shù)量不能容納數(shù)據(jù)的時候,os會把虛擬內(nèi)存中的數(shù)據(jù)寫到磁盤上,此時的交換對于運行在操作系統(tǒng)中的進(jìn)程是透明的。

交換對與MySQL性能有很大的影響,對于Innodb存儲引擎它對內(nèi)存中的數(shù)據(jù)鎖住全局互斥量,如果此時導(dǎo)致了磁盤的IO,那么所有的動作都會等到IO完成之后才能進(jìn)行。

我們可以通過vmstat 命令。檢查s1,s0攔的IO變化狀態(tài)。

如果完全禁止文件交換,極端情況下,系統(tǒng)核心強(qiáng)制進(jìn)行交換,這樣會降低os的性能。拷貝一個大文件,用mysqldump 導(dǎo)出一個很大的數(shù)據(jù)庫時,文件系統(tǒng)往往會向linux申請大量的內(nèi)存作為cache,此時MySQL 可能會耗盡內(nèi)存、崩潰,或者被操作系統(tǒng)強(qiáng)制殺掉。

可以通過下面的幾種方式進(jìn)行調(diào)整:

1、/proc/sys/vm/swappiness的內(nèi)容改成0(臨時),/etc/sysctl.conf上添加vm.swappiness=0(永久).這樣當(dāng)內(nèi)存比較緊張的時候數(shù)據(jù)值越低linux越傾向于使用物理內(nèi)存。

2、修改MySQL刷新磁盤的方法:

對于Innodb 存儲引擎,其自身可以進(jìn)行數(shù)據(jù)和索引的緩存的緩存管理我們可以考慮由Mysql自己的進(jìn)程來管理IO緩沖區(qū)保過緩存機(jī)制和寫延遲等,這樣也可以降低系統(tǒng)的開銷。可以使用raw 分區(qū)來實現(xiàn)(這樣的實例還不錯多)或者innodb_flush_method,開啟O_DIRECT模式。這種情況下,InnoDB的buffer pool會使用直接IO的方式繞過SWAP交換區(qū)來訪問磁盤,redo log依舊會使用swap,由于Redo log是覆寫模式的,所以需要空間較少。與O_DIRECT類似的一個選項是O_SYNC,后者只對寫數(shù)據(jù)有效。 3、添加MySQL的配置參數(shù)memlock 個人不推薦這個方式,這樣會把MySQL鎖定到內(nèi)存中,這樣雖然避免了交換,如果沒有足夠的內(nèi)存進(jìn)行鎖定,那么MySQL在試圖分配更多的內(nèi)存的時候就會崩潰,如果鎖定太多內(nèi)存,留給操作系統(tǒng)的內(nèi)存不足的話,同樣會有問題。

總結(jié)

以上是生活随笔為你收集整理的mysql+使用swap_MySQL避免使用SWAP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。