¶øÔÚLinuxϵͳµÄºËÐÄ£¬ÄÚ´æ¹ÜÀí»úÖÆ£¨Memory Management£©°çÑÝמÙ×ãÇáÖØµÄ½ÇÉ«
±¾ÎĽ«ÉîÈë̽ÌÖLinuxÄÚ´æ¹ÜÀí»úÖÆ£¨ÒÔ¡°Linux memory¡±ÎªºËÐÄ£©£¬½âÎöÆä¼¼Êõϸ½Ú£¬²¢²ûÊöÆäÔÚÏÖ´ú¼ÆËã»·¾³ÖеĶÀÌØÓÅÊÆ
LinuxÄÚ´æ¹ÜÀí»úÖÆ¸ÅÊö LinuxÄÚ´æ¹ÜÀí»úÖÆÊÇÒ»¸ö¸´ÔÓ¶ø¾«Ï¸µÄϵͳ£¬Ëü¸ºÔð·ÖÅä¡¢»ØÊÕ¡¢±£»¤ºÍÓÅ»¯ÏµÍ³ÄÚ´æ×ÊÔ´
ÕâÒ»»úÖÆ²»½öÈ·±£ÁËϵͳµÄ¸ßЧÔËÐУ¬»¹ÌṩÁ˶ÔÄÚ´æÊ¹Óõľ«Ï¸¿ØÖÆ£¬Ê¹µÃLinuxϵͳÄܹ»ÔÚ×ÊÔ´ÓÐÏ޵Ļ·¾³Öз¢»Ó×î¼ÑÐÔÄÜ
LinuxÄÚ´æ¹ÜÀí»úÖÆµÄºËÐÄ×é¼þ°üÀ¨ÄÚ´æ·ÖÅäÆ÷¡¢ÐéÄâÄÚ´æÏµÍ³¡¢Ò³Ãæ»ØÊÕËã·¨¡¢ÄÚ´æ±£»¤»úÖÆÒÔ¼°¿ØÖÆ×飨cgroups£©µÈ
ÆäÖУ¬¿ØÖÆ×éÊÇLinuxÄÚºËÌṩµÄÒ»ÖÖ×ÊÔ´ÏÞÖÆ¡¢¸ôÀëºÍ¿ØÖƵĻúÖÆ£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±¶Ô½ø³Ì×éµÄ×ÊԴʹÓÃÇé¿ö½øÐо«Ï¸¹ÜÀí£¬°üÀ¨ÄÚ´æ¡¢CPU¡¢´ÅÅÌI/OµÈ
¿ØÖÆ×éÓëÄÚ´æ¹ÜÀí ¿ØÖÆ×飨cgroups£©ÊÇLinuxÄÚ´æ¹ÜÀí»úÖÆÖеÄÒ»¸öÖØÒª¹¤¾ß
ËüÔÊÐíϵͳ¹ÜÀíԱΪ½ø³Ì×éÉèÖÃÄÚ´æÊ¹ÓÃÏÞÖÆ£¬´Ó¶ø·ÀÖ¹µ¥¸ö½ø³Ì»ò½ø³Ì×éÏûºÄ¹ý¶àÄÚ´æ×ÊÔ´£¬Ó°ÏìϵͳÕûÌåÐÔÄÜ
¿ØÖÆ×éÌṩÁ˶àÖÖÄÚ´æÏÞÖÆ½Ó¿Ú£¬Èç`memory.limit_in_bytes`ÓÃÓÚÉèÖÃÄÚ´æÊ¹ÓõÄÓ²ÏÞÖÆ£¬`memory.soft_limit_in_bytes`ÓÃÓÚÉèÖÃÄÚ´æÊ¹ÓõÄÈíÏÞÖÆ£¨ÔÊÐí¶ÌÔݳ¬¹ý£¬µ«»áÒý·¢Ò³Ãæ»ØÊÕ£©
´ËÍ⣬¿ØÖÆ×黹֧³Ö¶ÔÄÚ´æ+½»»»Çø£¨memory+swap£©µÄʹÓýøÐÐÏÞÖÆ£¬ÒÔ¼°Í¨¹ý`memory.swappiness`²ÎÊýµ÷Õû½»»»ÇøµÄʹÓûý¼«³Ì¶È
ÖµµÃ×¢ÒâµÄÊÇ£¬¿ØÖÆ×黹ÌṩÁË·Ö²ã¼ÇÕË£¨hierarchy£©¹¦ÄÜ£¬Ê¹µÃ×Ó¿ØÖÆ×éµÄÄÚ´æÊ¹ÓÃÇé¿ö¿ÉÒÔ»ã×ܵ½¸¸¿ØÖÆ×飬±ãÓÚϵͳ¹ÜÀíÔ±½øÐÐÈ«¾Ö¼à¿ØºÍ¹ÜÀí
ÔÚ¿ØÖÆ×éµÄÁ½¸öÖ÷Òª°æ±¾ÖУ¬°æ±¾2Ïà½ÏÓÚ°æ±¾1ÔÚÄÚ´æ¹ÜÀí·½ÃæÌṩÁ˸ü·á¸»µÄ¹¦Äܺ͸ü¾«Ï¸µÄ¿ØÖÆ
¹²ÏíÄÚ´æÓë½ø³Ì¼äͨÐÅ ¹²ÏíÄÚ´æÊÇLinuxϵͳÖÐÒ»ÖÖ¸ßЧµÄ½ø³Ì¼äͨÐÅ£¨IPC£©»úÖÆ
ËüÔÊÐí¶à¸ö²»Ïà¹ØµÄ½ø³Ì·ÃÎÊͬһ¿éÂß¼ÄÚ´æÇøÓò£¬´Ó¶øÊµÏÖÁËÊý¾ÝµÄ¸ßЧ¹²ÏíºÍ´«µÝ
¹²ÏíÄÚ´æÏà½ÏÓÚÆäËûIPC»úÖÆ£¨Èç¹ÜµÀ¡¢ÏûÏ¢¶ÓÁС¢Ì×½Ó×ֵȣ©¾ßÓиü¸ßµÄͨÐÅЧÂʺ͸üµÍµÄÑÓ³Ù
È»¶ø£¬¹²ÏíÄÚ´æµÄʹÓÃÒ²ÐèÒª½÷É÷
ÓÉÓÚ¶à¸ö½ø³Ìͬʱ·ÃÎÊͬһ¿éÄÚ´æÇøÓò£¬Òò´ËÐèÒª½â¾öͬ²½ºÍ»¥³âÎÊÌ⣬ÒÔ·ÀÖ¹Êý¾Ý¾ºÕùºÍ³åÍ»
LinuxϵͳÌṩÁËÐźÅÁ¿¡¢»¥³âËøµÈͬ²½»úÖÆ£¬ÒÔÈ·±£¹²ÏíÄÚ´æµÄÕýȷʹÓÃ
LinuxÄÚ´æ¹ÜÀí»úÖÆµÄÓÅÊÆ 1.¸ß¶È¿É¶¨ÖÆÐÔ£ºLinuxϵͳÒÔÆä¿ªÔ´ºÍ×ÔÓɵÄÌØµãÎüÒýÁË´óÁ¿µÄ¿ª·¢ÕßºÍÆóÒµÓû§
Óû§¿ÉÒÔ×ÔÓɵØÐÞ¸ÄϵͳÄÚ´æ¹ÜÀí»úÖÆ£¬ÒÔÊÊÓ¦¸÷ÖÖ²»Í¬µÄÓ¦Óó¡¾°
ÕâʹµÃLinuxϵͳÄܹ»Áé»îµØÓ¦¶Ô¸÷ÖÖ¸´ÔÓµÄÄÚ´æ¹ÜÀíÐèÇó
2.³öÉ«µÄ°²È«ÐÔ£ºLinuxϵͳµÄÄÚ´æ¹ÜÀí»úÖÆÔÚ°²È«ÐÔ·½Ãæ±íÏÖ³öÉ«
ͨ¹ýÑϸñµÄȨÏÞ¹ÜÀíºÍÄÚºËÉè¼Æ£¬Li