溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

MySQL大量使用swap文件

發(fā)布時(shí)間:2020-08-12 00:32:09 來(lái)源:ITPUB博客 閱讀:196 作者:壹頁(yè)書(shū) 欄目:MySQL數(shù)據(jù)庫(kù)
現(xiàn)象:
    一臺(tái)高配的MySQL數(shù)據(jù)庫(kù)服務(wù)器,雙CPU48線(xiàn)程.
    CentOS 7
    本機(jī)磁盤(pán)是一萬(wàn)五千轉(zhuǎn)的Raid 0.系統(tǒng)文件,Swap都分配在了本機(jī)磁盤(pán).
    服務(wù)器掛載了一個(gè)SSD的磁盤(pán)陣列.數(shù)據(jù)庫(kù)文件都存放在磁盤(pán)陣列中.
    
    系統(tǒng)運(yùn)行之后,發(fā)現(xiàn)系統(tǒng)Swap大量使用,并且本機(jī)磁盤(pán)的IO使用率持續(xù)100%.

權(quán)宜之計(jì):
    我把Swap挪到了盤(pán)陣中

原因:
    swap insanity
    NUMA架構(gòu)

引用:
    對(duì)于單CPU,多核心的情況,每個(gè)核心訪(fǎng)問(wèn)內(nèi)存的速度是一樣的,這種架構(gòu)稱(chēng)為SMP(Symmetric multiprocessing, 對(duì)稱(chēng)多處理器),又叫UMA(Uniform Memory Architecture,與NUMA相對(duì),一致性?xún)?nèi)存訪(fǎng)問(wèn)架構(gòu))。
可以看到,每個(gè)CPU都有一組配套的內(nèi)存槽。每個(gè)CPU訪(fǎng)問(wèn)自身的內(nèi)存插槽,速度都很快,但對(duì)于主板上的其他內(nèi)存插槽,訪(fǎng)問(wèn)速度就會(huì)下降。這種架構(gòu)被稱(chēng)為NUMA。

    對(duì)于Linux來(lái)說(shuō),加載的時(shí)候就會(huì)檢測(cè)內(nèi)存,計(jì)算CPU到內(nèi)存的訪(fǎng)問(wèn)開(kāi)銷(xiāo),將CPU和內(nèi)存分成一組組的。每個(gè)進(jìn)程和線(xiàn)程,都會(huì)繼承父進(jìn)程的NUMA策略,這種策略包括這個(gè)進(jìn)程/線(xiàn)程會(huì)在哪個(gè)CPU上運(yùn)行,分配的內(nèi)存應(yīng)該用哪組插槽的。

    面對(duì)內(nèi)存分配,只要一經(jīng)分配到指定的CPU—內(nèi)存槽,就不會(huì)再挪動(dòng)了。對(duì)于數(shù)據(jù)庫(kù)這類(lèi)應(yīng)用,理想情況下是一個(gè)單一的多線(xiàn)程進(jìn)程,吃掉了幾乎所有的系統(tǒng)內(nèi)存,并盡可能多的消耗其余的系統(tǒng)資源例如IO。

    對(duì)于兩個(gè)CPU的NUMA架構(gòu)來(lái)說(shuō),如果一個(gè)核心分配的內(nèi)存超過(guò)系統(tǒng)內(nèi)存的一半,就會(huì)出現(xiàn)問(wèn)題。而Linux的分配策略是,首先使用CPU 0,然后再使用CPU 1。這時(shí)候就會(huì)出現(xiàn)一種情況,CPU 0的內(nèi)存組已經(jīng)率先使用完了,但系統(tǒng)還有很多空閑內(nèi)存,都在CPU 1上。這時(shí)候,Linux會(huì)選擇將CPU 0的內(nèi)存刷到磁盤(pán)上,以換取可用內(nèi)存。但是,swap過(guò)程遠(yuǎn)比跨CPU訪(fǎng)問(wèn)內(nèi)存要慢啊。這就會(huì)造成內(nèi)存還沒(méi)用光,但數(shù)據(jù)庫(kù)瘋狂刷盤(pán)的現(xiàn)象了。



參考:
http://www.cnblogs.com/Lifehacker/p/database_swap_insanity_on_Linux.html
https://blog.jcole.us/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/
https://yq.aliyun.com/articles/50933
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI