国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
當前位置: 首頁 - 科技 - 知識百科 - 正文

MySQLOOM系列一Linux內(nèi)存分配

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 20:46:17
文檔

MySQLOOM系列一Linux內(nèi)存分配

MySQLOOM系列一Linux內(nèi)存分配:RDS(網(wǎng)易云關(guān)系數(shù)據(jù)庫服務(wù))上線已經(jīng)有一段時間,陸續(xù)不斷有產(chǎn)品遷入到了RDS中,在線上運維的過程中,也遇到了一些曾經(jīng)沒有考慮到,或者考慮的不全的東西。后續(xù)有時間可以分享給大家。 今天想提到的是線上一個4G的RDS實例,發(fā)生了OOM(out of memor
推薦度:
導(dǎo)讀MySQLOOM系列一Linux內(nèi)存分配:RDS(網(wǎng)易云關(guān)系數(shù)據(jù)庫服務(wù))上線已經(jīng)有一段時間,陸續(xù)不斷有產(chǎn)品遷入到了RDS中,在線上運維的過程中,也遇到了一些曾經(jīng)沒有考慮到,或者考慮的不全的東西。后續(xù)有時間可以分享給大家。 今天想提到的是線上一個4G的RDS實例,發(fā)生了OOM(out of memor

RDS(網(wǎng)易云關(guān)系數(shù)據(jù)庫服務(wù))上線已經(jīng)有一段時間,陸續(xù)不斷有產(chǎn)品遷入到了RDS中,在線上運維的過程中,也遇到了一些曾經(jīng)沒有考慮到,或者考慮的不全的東西。后續(xù)有時間可以分享給大家。

今天想提到的是線上一個4G的RDS實例,發(fā)生了OOM(out of memory)的問題,MySQL進程被直接Kill掉了。在解釋這個問題的時候,我們首先需要從Linux系統(tǒng)內(nèi)存分配策略講起。
    一般寫C語言程序,我們習(xí)慣使用malloc動態(tài)的申請內(nèi)存空間(Java由JVM負責內(nèi)存管理),malloc函數(shù)會向操作系統(tǒng)申請一段連續(xù)的內(nèi)存單元,然后返回這段空間的起始地址。如果malloc函數(shù)返回為null則表示系統(tǒng)沒有可分配的內(nèi)存空間。這是我們的一般思維,當然這在某些操作系統(tǒng)中確實也是正確的(Solaris)。
     但是Linux不是這樣的,Linux的內(nèi)存分配采取的是一種更加積極的分配策略,它假設(shè)應(yīng)用申請了內(nèi)存空間后并不會立即去使用它,所以允許一定量的超售,當應(yīng)用真的需要使用它的時候,操作系統(tǒng)可能已經(jīng)通過回收了其他應(yīng)用的內(nèi)存空間而變得有能力去滿足這個應(yīng)用的需求,簡單的說,就是允許應(yīng)用申請比實際可分配空間(包括物理內(nèi)存和Swap)更多的內(nèi)存,這個特性稱為OverCommit。
      這個特性在Linux操作系統(tǒng)里面也是可配的,可以通過設(shè)置/proc/sys/overcommit_memory為不同的值來調(diào)整OverCommit策略。
     overcommit_memory可以取3個值:
0:默認值,由Linux內(nèi)核通過一些啟發(fā)式算法來決定是否超售和超售的大小,一般允許輕微的超售,拒絕一些明顯不可能提供的請求,同時做一些規(guī)則限制,比如不同用戶overcommit的大小也不一樣。
1:允許,不做限制的超售,當然這個也不是無限大,還受到尋址空間的限制,32位系統(tǒng)最大可能只有4G,64位系統(tǒng)大概16T左右。
2:禁止,禁止超售,系統(tǒng)能夠分配的內(nèi)存不會超過swap+實際物理內(nèi)存*overcommit_ratio,該值可以通過/proc/sys/vm/overcommit_ratio設(shè)置,默認50%。

    為了驗證Linux的內(nèi)存分配,我們用個小程序來測試一下:

#include <stdio.h>
#include <stdlib.h>
#define MEGABYTE 1024*1024
int main(int argc, char *argv[])
{
 void *myblock = NULL;
 int count = 0;

 while (1)
 {
 myblock = (void *) malloc(MEGABYTE);
 if (!myblock) break;
 printf("Currently allocating %d MB\n", ++count);
 }
 
 exit(0);
}

#include <stdio.h>
#include <stdlib.h>

#define MEGABYTE 1024*1024

int main(int argc, char *argv[])
{
 void *myblock = NULL;
 int count = 0;

 while(1)
 {
 myblock = (void *) malloc(MEGABYTE);
 if (!myblock) break;
 memset(myblock,1, MEGABYTE);
 printf("Currently allocating %d MB\n",++count);
 }
 exit(0);
 
}

前者再通過malloc()申請了內(nèi)存空間以后,并沒有立即去使用它,而后者相反,每次申請完都立即用1去填充。我們來看看兩個程序運行的結(jié)果。

這是在1G的RAM,400M Swap的虛擬機上運行的結(jié)果,前者申請了遠遠超過實際內(nèi)存的空間,后者并沒有超過實際內(nèi)存可用空間。這就驗證了前面敘述的Linux的內(nèi)存分配策略。
本身這是一個系統(tǒng)的優(yōu)化,無可厚非。但是我們知道,但凡“超售”都是基于不會有大量程序同時使用資源的假設(shè),這顯然也是有風(fēng)險的。所以Linux又使用了一種OOM Killer(Out Of Memory killer)的機制,在系統(tǒng)可用內(nèi)存(包括Swap)即將使用完之前,選擇性的Kill掉一些進程以求釋放一些內(nèi)存。下一章我們重點討論一下Linux OOM Killer的機制。

您可能感興趣的文章:

  • MySQL OOM 系統(tǒng)二 OOM Killer
  • MySQL OOM 系列三 擺脫MySQL被Kill的厄運
  • 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    MySQLOOM系列一Linux內(nèi)存分配

    MySQLOOM系列一Linux內(nèi)存分配:RDS(網(wǎng)易云關(guān)系數(shù)據(jù)庫服務(wù))上線已經(jīng)有一段時間,陸續(xù)不斷有產(chǎn)品遷入到了RDS中,在線上運維的過程中,也遇到了一些曾經(jīng)沒有考慮到,或者考慮的不全的東西。后續(xù)有時間可以分享給大家。 今天想提到的是線上一個4G的RDS實例,發(fā)生了OOM(out of memor
    推薦度:
    標簽: 內(nèi)存 linux my
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 成人国产精品一区二区网站 | 国产精品一区二区三 | 国产精品亚洲四区在线观看 | 国产精品久久久久999 | 国产第一页在线观看 | 国产精品亚洲一区二区在线观看 | 欧美日韩国产一区 | 中文字幕另类 | 国产激情一区二区三区 | 国产成人精品久久 | 国产欧美日韩精品在钱 | 国内视频一区二区三区 | 亚洲日韩图片专区第1页 | 成人亚洲欧美日韩在线 | 国内高清久久久久久久久 | 亚洲精品第一综合99久久 | xxx色| 精品伊人 | 水蜜桃网站 | 国产精品欧美亚洲韩国日本不卡 | 精品国产高清自在线一区二区三区 | 国产欧美一区二区三区在线 | 欧美人善交 | 国产精品一级 | 日韩欧美激情 | 黄色网站在线观看视频 | 国产成人a毛片 | 国产日韩亚洲 | 国产一区三区二区中文在线 | 国产成人精品一区二区三区… | 国产激情一区二区三区成人91 | 精品国产高清a毛片无毒不卡 | 久久频道毛片免费不卡片 | 欧日韩视频 | 国产一级一片免费播放视频 | 国产高清视频 | 成人黄色在线观看 | 91久久国产| 六月丁香在线观看 | 欧美午夜视频 | 国产欧美另类第一页 |