[KVM] Host swap ºÎÁ·¿¡ µû¸¥ Guest ÀÇ ¼º´ÉÀúÇÏ Çö»óÀ¸·Î ¹®Àǵ帳´Ï´Ù.

   Á¶È¸ 4918   Ãßõ 0    

안녕하세요.

CentOS7 KVM으로 구성된 Guest OS의 CPU 사용률 증가로 문의드립니다.

서버의 구성은 

Host : 128G Mem, 480G SSD * 2 (Raid 1), 480G SSD * 6 (Raid 5) 구성입니다.

Guest : Host의 딱 반씩 사용하고 있습니다.

OS 는 Raid1 에 설치, Raid5 에는 Data 영역으로 사용중입니다.

Swap 설정은 Host, Guest 각각 32G 입니다.

이때 Host의 Swap이 free 가 0 일 경우 Guest의 성능저하가 발생합니다. 이때 Host의 물리메모리는 여유가 있었고 swappiness=60 으로 설정되어 있습니다.

위와 같은 현상은 파악하여 Swap을 64G로 올려주니 동일 발생하지는 않았습니다. (물론 swappiness를 줄여주면 해결될지도 모르겠습니다)

그러나 왜 성능저하가 발생했는지를 모르겠습니다. 알고싶어요,.,.

혹시라도 이유를 알고 계신분이 계시면 도움 부탁드립니다.

감사합니다.

Dreaday 2022-03
Á¡À¯ °¡´É ¸Þ¸ð¸®°¡ ÀûÀ» ½Ã¿¡´Â ÀÚ¹ÙÀÇ °æ¿ì ÇÁ·Î±×·¥À» °­Á¦ Á¾·á½ÃÅ°°í, Ÿ ÇÁ·Î±×·¥µéÀÇ °æ¿ì DISK¸¦ ´ëüÇÏ¿© ¸Þ¸ð¸®¸¦ ²ø¾î´Ù ¾²±â¿¡ ´À·ÁÁý´Ï´Ù .

ÀÚ¼¼ÇÑ ¼³¸íÀº SWAP ¸Þ¸ð¸® °Ë»öÇÏ½Ã¸é ¸¹ÀºÀÚ·áµéÀÌ ÀÖÀ¸´Ï Âü°í ÇÏ½Ã¸é µÉ °Í °°½À´Ï´Ù.

https://mozi.tistory.com/424
     
¾Ë·ÁÁֽŠÆ÷½ºÆ®´Â ÀÌ¹Ì º» ¹®¼­Àä.
GuestÀÇ swap°ú ¸Þ¸ð¸®´Â ÃæºÐÈ÷ ¿©À¯°¡ ÀÖ´Â »óÅÂÀε¥µµ ºÒ±¸ÇÏ°í
Guest°¡ Host swapÀÇ ¿µÇâÀ» ¹Þ¾Æ¼­ ±Ã±ÝÇÕ´Ï´Ù.
          
±¸Â÷´Ï 2022-03
host 128G
guest 64G * 2vm À̶ó°í Çϸé
host ¿¡¼­ OS°¡ Á¡À¯ÇÏ°í ÆÄÀÏ Ä³½Ì µîÀ¸·Î ÀÎÇؼ­ ½ÇÁ¦ guest¿¡ ÇÒ´ç °¡´ÉÇÑ ¸Þ¸ð¸®´Â ¸¹¾Æ¾ß 60G Á¤µµ µÇÁö ¾ÊÀ»±î »ý°¢µË´Ï´Ù.

¾Æ¹«Æ° host ¿¡¼­´Â ÀÚ±â ÀÚ½ÅÀÌ ½á¾ß ÇÒ ¸Þ¸ð¸® + guest ¿¡¼­ ¿¹¾àÇÒ ¸Þ¸ð¸® Çϸé
¹°¸® ¸Þ¸ð¸® º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇØ¾ß Çϱ⠶§¹®¿¡ ÇÊ¿¬ÀûÀ¸·Î ½º¿ÒÀÌ ¹ß»ýÇÏ°Ô µÇ°í
±×·Î ÀÎÇØ ¼º´É ÀúÇÏ°¡ »ý±æ °ÍÀ¸·Î »ý°¢µË´Ï´Ù.
²¿¼Ò 2023-02
¿À·¡Àü ±ÛÀÌÁö¸¸ Ȥ½Ã³ª µµ¿ò µÇ´Â ºÐÀÌ ÀÖÀ»±î ÇÏ¿© ±ÛÀ» ³²±é´Ï´Ù.
swapÀ¸·Î À̵¿µÇ´Â ¸Þ¸ð¸® ¿µ¿ªÀº Inactive(Anon)ÀÔ´Ï´Ù. file systemÀÇ cache¸¦ Á¦¿ÜÇÑ ÇÁ·Î¼¼½ºÀÇ ÃÖ±Ù ÂüÁ¶µÇÁö ¾ÊÀº ¸Þ¸ð¸®°¡ ÀϹÝÀûÀ¸·Î Inactive(Anon)ÀÌ°í, qemu ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¶ÇÇÑ ÀÌ ´ë»óÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
»ç¼öÁö¸ù ´Ô ¸»¾¸´ë·Î swap free ¿ë·®ÀÌ 0ÀÌ µÇ¸é, kernelÀÌ ¸Þ¸ð¸® ÇÒ´ç ¿äûÀ» ¹Þ°Ô µÇ¸é ¸Þ¸ð¸® ÇÒ´ç ¿äûÀ» °ÅºÎÇÒ ¼ö ¾ø±â¿¡ memory free, cache ¶Ç´Â swapÀ» °Ë»öÇÑ µÚ trade off¸¦ °ÅÃÄ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°Ô µË´Ï´Ù. OSÀÇ ´ëºÎºÐÀÇ µ¿ÀÛÀº ¸Þ¸ð¸® ÇÒ´ç°ú I/O ó¸®Àε¥, I/O 󸮿¡ ½Ã°£ÀÌ ¸¹ÀÌ °É¸®¹Ç·Î °¡±ÞÀû ¸Þ¸ð¸®¿¡¼­ ¸ðµç °ÍÀ» ó¸®ÇÏ·Á°í ÇÕ´Ï´Ù. ½Ã½ºÅÛÀÇ ¼Óµµ ¶ÇÇÑ ¸Þ¸ð¸® º¹»ç ¼Óµµ°¡ ´ëº¯ÇÑ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·±µ¥ swap free±îÁö ¸ðµç ¸Þ¸ð¸®¸¦ ´Ù »ç¿ëÇÏ¿´´Ù°í ÇÑ´Ù¸é, cache±îÁö ¼ÒÁøÇϱâ À§ÇØ flush¸¦ ½ÃµµÇÒ °ÍÀÌ°í,  ¸¸¾à flushÇÒ cache±îÁö ´Ù ¼ÒÁøÇÏ¿´´Ù¸é file systemÀº diskÀÇ read¿Í ¸Þ¸ð¸® ¿äûÀ», KVM°ú ±âŸ ÇÁ·Î¼¼½ºµéÀº ¸Þ¸ð¸® ÇÒ´ç ¿äûÀ» kernel·Î ÇÏ°Ô µË´Ï´Ù. I/OÀÇ ¼Óµµ´Â ¸Þ¸ð¸®º¸´Ù ¸Å¿ì ´À¸®¸ç, I/O´Â blockingÀ» ÇÒ È®·üÀÌ ³ô¾ÆÁö¹Ç·Î ¸¸¾à ÀÌ·± »óȲÀÌ µÇ¸é ½Ã½ºÅÛÀÇ Ã³¸® ¼Óµµ´Â disk I/O ¼Óµµ¿¡ °ÅÀÇ ¹ÌÄ¡°Ô µË´Ï´Ù. ÀÌ·± Çö»óÀÌ °è¼ÓµÇ¸é¼­ Á¤¸» ÇÒ´çÇÒ ¸Þ¸ð¸®°¡ ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì kernelÀº ½Ã OOMÀ» ½ÃµµÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ »ç¼öÁö¸ù ´Ô ½Ã½ºÅÛÀº ±× Á¤µµ±îÁö °£ °Í °°Áö´Â ¾Ê½À´Ï´Ù. ¾ÆÁ÷ cache ¸Þ¸ð¸®°¡ ³²¾Æ À־ ±×·± °ÍÀÏÁöµµ ¸ð¸£°Ú½À´Ï´Ù.
Àû¾îµµ VMÀÇ ¼º´É ÀúÇϸ¦ ¸·°í ½Í´Ù¸é VMÀ» À§ÇØ hugepage·Î °­Á¦ ÇÒ´çÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. VM ½ÇÇà ½Ã ¸Þ¸ð¸®°¡ ÇÒ´çµÇ´Â °ÍÀÌ ¾Æ´Ï³Ä°í ¹Ý¹®ÇÏ½Ç ¼ö ÀÖÀ¸³ª, ¸Þ¸ð¸®°¡ ÇÒ´çµÇ´Â °ÍÀº °¡»ó ¸Þ¸ð¸®ÀÌÁö ½ÇÁ¦ ¹°¸® ¸Þ¸ð¸®°¡ ¾Æ´Õ´Ï´Ù. mappingÀÌ ÀϾÁöµµ ¾Ê¾Ò°í, qemu ¶ÇÇÑ ÇÁ·Î¼¼½ºÀ̱⠶§¹®¿¡ swap ´ë»óÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. VMÀÌ »ç¿ëÇÏ´Â ¸Þ¸ð¸®°¡ swapÀÌ µÈ´Ù¸é ¾È ±×·¡µµ VM kernel¿¡¼­ mappingÀ» ó¸®Çϱâ À§ÇØ ´Ù¼öÀÇ stepÀÌ °É¸®´Â °ÍÀ» swap page-inÀ¸·Î ÀÎÇØ I/O ¼Óµµ¸¸Å­À̳ª ±â´Ù·Á¾ß ÇÒ °ÍÀÔ´Ï´Ù. VMÀÌ »ç¿ëÇÏÁö ¾ÊÀº ¸Þ¸ð¸® °ø°£ÀÌ ¾Æ½¬¿ïÁö ¸ð¸£°ÚÁö¸¸ Àû¾îµµ VMÀº º°µµÀÇ °ø°£¿¡¼­ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâ À§Çؼ­´Â hugepage·Î ¸Þ¸ð¸® ¿µ¿ªÀ» È®º¸ÇØ Áֽô °ÍÀÌ ÁÁ½À´Ï´Ù.
Ãß°¡ÀûÀ¸·Î swapÀÇ ¿¹¹æÀ» À§ÇØ min_free_kbytes °ªÀ» ´Ã·ÁÁֽðí, vfs_cache_pressure °ªÀ» 100 ÀÌ»ó ´Ã·Á cacheÀÇ flush¸¦ Á» ´õ À¯µµÇØ ÁÖ½Ã±â  ¹Ù¶ø´Ï´Ù.  ½Ã½ºÅÛ¿¡¼­ swap »ç¿ëÀº ¸Þ¸ð¸® ¾Ð¹ÚÀ¸·Î ¹Û¿¡ º¼ ¼ö ¾ø½À´Ï´Ù. swap »ç¿ëÀ¸·Î ¼º´É ÀúÇÏ°¡ ¹ß»ýÇÑ´Ù¸é ±× ½Ã½ºÅÛÀº Áö¼ÓÀûÀÎ swap »ç¿ë¿¡ ¿µÇâ¹ÞÀ» ¼ö¹Û¿¡ ¾øÀ» °ÍÀÔ´Ï´Ù. ¸¸¾à, ÀÌ·¸°Ô Á¶Á¤ ÈÄ¿¡µµ swap »ç¿ëÀÌ ÀÖÀ» °æ¿ì ¸Þ¸ð¸® È®ÀåÀ» ±ÇÇص帳´Ï´Ù.


Á¦¸ñPage 18/128
2015-12   1524470   ¹é¸Þ°¡
2014-05   4988466   Á¤ÀºÁØ1
2018-11   4494   ÀüÁø
2020-03   4498   ÆÄÀÌÆ®º¹¼­
2021-01   4502   ¿ì·ç·ç·ç·ç·ç
2020-10   4513   µ¥±¼µ¥±¼±èÄ¡
2021-12   4514   ¹üÀÌ´Ô
2018-10   4517   ÀüÁø
2021-10   4517   °í¾çÀ̴¾ֿË
2020-09   4539   ´ÙÀÌÇÞ
2020-08   4541   ³¥³¥¸Ç
2020-05   4541   »ç±º
2020-10   4542   Çα¸¾¾
2016-02   4543   Àü¼³¼ÓÀǹ̡¦
2020-12   4545   rollover
2021-05   4548   Áö³Ã
2021-09   4549   elint
2015-07   4550   Å×µ¹¾ÆÀÌ
2021-03   4551   ¿Áµ¿Àã
02-22   4556   ÀÌÇÏ´Ã
2021-04   4557   ±èÀºÈ£
2021-02   4559   RIGIDBODY