中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL大量使用swap文件

發布時間:2020-08-12 00:32:09 來源:ITPUB博客 閱讀:204 作者:壹頁書 欄目:MySQL數據庫
現象:
    一臺高配的MySQL數據庫服務器,雙CPU48線程.
    CentOS 7
    本機磁盤是一萬五千轉的Raid 0.系統文件,Swap都分配在了本機磁盤.
    服務器掛載了一個SSD的磁盤陣列.數據庫文件都存放在磁盤陣列中.
    
    系統運行之后,發現系統Swap大量使用,并且本機磁盤的IO使用率持續100%.

權宜之計:
    我把Swap挪到了盤陣中

原因:
    swap insanity
    NUMA架構

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

    對于Linux來說,加載的時候就會檢測內存,計算CPU到內存的訪問開銷,將CPU和內存分成一組組的。每個進程和線程,都會繼承父進程的NUMA策略,這種策略包括這個進程/線程會在哪個CPU上運行,分配的內存應該用哪組插槽的。

    面對內存分配,只要一經分配到指定的CPU—內存槽,就不會再挪動了。對于數據庫這類應用,理想情況下是一個單一的多線程進程,吃掉了幾乎所有的系統內存,并盡可能多的消耗其余的系統資源例如IO。

    對于兩個CPU的NUMA架構來說,如果一個核心分配的內存超過系統內存的一半,就會出現問題。而Linux的分配策略是,首先使用CPU 0,然后再使用CPU 1。這時候就會出現一種情況,CPU 0的內存組已經率先使用完了,但系統還有很多空閑內存,都在CPU 1上。這時候,Linux會選擇將CPU 0的內存刷到磁盤上,以換取可用內存。但是,swap過程遠比跨CPU訪問內存要慢啊。這就會造成內存還沒用光,但數據庫瘋狂刷盤的現象了。



參考:
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問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古浪县| 大宁县| 玉树县| 蛟河市| 思茅市| 襄垣县| 定州市| 赤壁市| 晋宁县| 平泉县| 贡嘎县| 密云县| 康定县| 柘城县| 南涧| 汨罗市| 中阳县| 中牟县| 静海县| 翁源县| 广灵县| 平度市| 资阳市| 望奎县| 赣州市| 岗巴县| 永仁县| 伊通| 兴化市| 沅陵县| 怀化市| 区。| 油尖旺区| 玉林市| 乐昌市| 田东县| 清丰县| 上栗县| 秦皇岛市| 赤城县| 洛隆县|