compcache.

Linux ¿ë ¸Þ¸ð¸® ½º¿Ò ÀåÄ¡ ¾ÐÃà
Áö±Ý ´Ù¿î·Îµå

compcache. ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • GPL
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Nitin Gupta
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://code.google.com/u/nitingupta910/

compcache. ű×


compcache. ¼³¸í

¸®´ª½º ¿ë ¾ÐÃà ¸Þ¸ð¸® ½º¿Ò ÀåÄ¡ Compcache ½º¿Ò µð½ºÅ© ¿ªÇÒ RAM ºí·Ï ±â¹Ý µð¹ÙÀ̽º (¶ó´Â ramzswap)¸¦ »ý¼ºÇÏ´Â ¼ö´ÜÀÌ´Ù. ÀÌ µð½ºÅ©·Î ½º¿Ò ÆäÀÌÁö´Â ¾ÐÃà ¹× ¸Þ¸ð¸® itself.Compressing ÆäÀÌÁö¿¡ ÀúÀå ¹× RAM¿¡¼­ ±×µéÀ» À¯ÁöÇÏ´Â »ç½Ç»óÀÇ ¿ë·®ÀÌ Áõ°¡µÈ´Ù. ¸Þ¸ð¸®°¡ ¿Ö ¾ÐÃà ±ÍÂú°Ô ³Ê¹« ³Ê¹« ½Î±¸·ÁÀÔ´Ï´Ù - ÀÌ°ÍÀº ´õ ÀÀ¿ë ÇÁ·Î±×·¥ memory.The ÀϹÝÀûÀÎ Àμö I get ¹×ÀÇ ÁÖ¾îÁø ¾ç¿¡ ¸Â°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù? ±×·¡¼­ ¿©±â¿¡ »ç¿ë »ç·ÊÀÇ ÀϺθ¦ ³ª¿­ÇÕ´Ï´Ù. ³ª¸ÓÁö´Â ´ç½ÅÀÇ »ó»ó·Â¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. * ³ÝºÏ : ½ÃÀåÀº Áö±ÝÀÌ "lighweight ³ëÆ®ºÏ"À¸·Î ¹ü¶÷Áö°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¸ð¸®°¡ Á¦ÇѵǾî ÀÖÁö¸¸, ¾ÐÃà µÈ ¸Þ¸ð¸®¸¦ ±¸µ¿ÇϱâÀ§ÇÑ CPUÀÇ Á¤µµ°¡ (¿¹¸¦ µé¾î 1.2ÀÇ Cloudbook GHz ÇÁ·Î¼¼¼­ ±â´É!). * °¡»óÈ­ : ÇÏÀÌÆÛ ¹ÙÀÌÀú ¼öÁØ¿¡¼­ compcache, ¿ì¸®´Â Åõ¸í °Ô½ºÆ® ¸Þ¸ð¸®ÀÇ ÀϺθ¦ ¾ÐÃà ÇÒ ¼ö ÀÖ½À´Ï´Ù -ÀÌ °Ô½ºÆ® OS (¸®´ª½º, À©µµ¿ì µî) ¸ðµç À¯ÇüÀÇ »ç½ÇÀÌ´Ù. ÀÌ´Â Àüü È£½ºÆ® ¸Þ¸ð¸®ÀÇ ¾çÀ» ±âÁØÀ¸·Î ÇÒ VMÀ» ´õ ¸¹Àº ¼ö¸¦ ½ÇÇà Çã¿ëÇؾßÇÕ´Ï´Ù. * ÀÓº£µðµå ÀåÄ¡ : ¸Þ¸ð¸® ºÎÁ· ¹× ¸Þ¸ð¸® Áõ°¡ ÀåÄ¡ ºñ¿ëÀ» Ãß°¡. ¶ÇÇÑ, ¿ì¸®°¡ ½º¿Ò device.Compiling·Î¸¦ »ç¿ëÇÏ¿© ÇÇÇÒ ¼ö ÀÖ´Ù¸é ¸¶¸ð ·¹º§¸µ ¹®Á¦¿¡¼­, ±×°ÍÀÇ À¯¿ëÇÑ ÀÖµµ·Ï Ç÷¡½Ã ÀúÀå °Þ°íÀÖ´Ù : ¸ÞÀÌÅ©¾÷Àº '- ÀÌ°ÍÀº ´ç½ÅÀÇ kernelmakeÀÇ ¹®¼­¿¡ ´ëÇÑ ¸ðµç ¸ðµâÀ» ÄÄÆÄÀÏ -ÀÌ rzscontrol ¸Å´º¾ó ÆäÀÌÁö¸¦ ÄÄÆÄÀÏ : ÇÏÀ§ ÇÁ·ÎÁ§Æ®¸¦ / rzscontrol / »ç¶÷ / rzscontrol.1 - (°­·Â Ãßõ) ¼±Åà »çÇ× : - ÆÐÄ¡¸¦ Àû¿ëÀº compcache / ÆÐÄ¡ / µð·ºÅ丮¿¡ ±×³É Æò¼Ò´ë·Î Ä¿³ÎÀ» ÄÄÆÄÀÏÇÕ´Ï´Ù. ÇöÀç ÆÐÄ¡´Â 2.6.33 ¹Ý´ëÇÏÁö¸¸ ³Ê¹« ¾à°£ ³ªÀÌ°¡ Ä¿³Î¿¡ Àû¿ëÇؾßÇÕ´Ï´Ù. ÀÌ Àü¼Û Äݹé Ä¿³ÎÀº Áï½Ã ½º¿Ò ½½·Ô ¹«·á¼ö·Ï ramzswap ÇÒ ¼ö ÀÖµµ·Ï ±â´ÉÀ» 'ÀÚÀ¯ ÅëÁö ½º¿Ò'À» °¡´ÉÇÏ°Ô ÇÒ °ÍÀÌ´Ù. ±×·¡¼­, ¿ì¸®´Â Áï½Ã »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸® (¾ÐÃà) ¸Þ¸ð¸®¿¡ÀÖ´Â ¿À·¡µÈ µ¥ÀÌÅ͸¦ Á¦°Å,ÀÌ ÆäÀÌÁö¿¡ ÇÒ´ç ÇÒ ¼ö ÀÖ½À´Ï´Ù. - ÁÖ¼® ÇØÁ¦ '#DEFINE CONFIG_SWAP_FREE_NOTIFY'¿¡¼­ compcache / compat.hÀÌ ÆÐÄ¡ µÈ Ä¿³Î¿¡ ´ëÇØ compcache¸¦ ÄÄÆÄÀÏÇϱâ Àü¿¡. ±×·¸Áö ¾ÊÀ¸¸éÀÌ ½º¿Ò Å뺸 Äݹé used.FollowingµÇÁö ¾Ê½À´Ï´Ù ¹ÙÀ̳ʸ®°¡ ¸¸µé¾îÁý´Ï´Ù - ramzswap.ko (Ä¿³Î µå¶óÀ̹ö) - ÇÏÀ§ ÇÁ·ÎÁ§Æ® / rzscontrol / rzscontrol (»ç¿ëÀÚ °ø°£ µµ±¸)¸¦ »ç¿ëÇÏ¿© : ÂüÁ¶ ´ÙÀ½Àº ´Ü°èÀÇ ÀüÇüÀûÀÎ ¼ø¼­¸¦ ramzswap.1À» »ç¿ëÇÏ´Â ) ¸ðµâÀ»·Îµå # ÇÏÁß ÀÇÁ¸¼º ¸ðµâ modprobe¸¦ lzo_compressÀ¸·Î modprobe lzo_decompress #ÀÇ ¿¹Á¦ 1 : ºÎÇÏ ramzswap ¸ðµâ insmod ¸í·É ramzswap.ko num_devices 4This = 4 °³ µð¹ÙÀ̽º ÃʱâÈ­µÇÁö ¾ÊÀº ¿ÞÂʵȴ٠(/ µð¹ÙÀ̽º / ramzswap {0,1,2,3}¿¡) »ý¼ºÇÑ´Ù. # ¿¹ 2 :·Îµå ramzswap ¸ðµâ ramzswap.ko num_devices = 4 = disksize_kb 20480This insmod ¸í·ÉÀÇ Ã¹ ¹ø° ÀåÄ¡´Â ÃʱâÈ­ÀÇ 20¸Þ°¡¹ÙÀÌÆ®Àº DiskSize¿Í Á¦ ÀåÄ¡ (/ µð¹ÙÀ̽º / ramzswap0)¸¦ ÃʱâÈ­ÇÑ´Ù. ´Ù¸¥ 3 °³ ÀåÄ¡ (´Â / dev / ramzswap {1,2,3}) ³²¾Æ ÀÖ½À´Ï´Ù uninitialized.2) ÃʱâÈ­ : ±¸¼º¿¡ »ç¿ë rzscontrol À¯Æ¿¸®Æ¼ ¹× °³º° ramzswap ÀåÄ¡¸¦ ÃʱâÈ­ÇÕ´Ï´Ù. ¿¹ : rzscontrol´Â / dev / ramzswap0 --init #Àº disksize_kbÀÇ ±âº» °ªÀ» »ç¿ë * ÀÚ¼¼ÇÑ ³»¿ë°ú ¿¹Á¦ * 3) È°¼ºÈ­¿¡ ´ëÇÑ ÂüÁ¶ rzscontrol ¸Ç : swapon ¸í·ÉÀº / dev / ramzswap2 # ¶Ç´Â ±âŸ ÃʱâÈ­ ramzswapÀÇ device4) Åë°è : rzscontrol´Â / dev / ramzswap2 --stats5) ºñÈ°¼ºÈ­ : ÈÄ swapoff´Â / dev / ramzswap26) Àç¼³Á¤ : rzscontrol´Â / dev / ramzswap2 --reset7) ¾ð·Îµå ¸ðµâ : rmmod¸¦ ramzswap rmmod¸¦ lzo_compress rmmod¸¦ lzo_decompressCommon ¹®Á¦ : - ´ç½ÅÀÌ ¸¸µå´Â, ÄÄÆÄÀÏ·¯ ¿À·ù¸¦ ¸¹À̹ÞÀ» °æ¿ì ¹Ýµå½ÃÀÌ ÆÐÅ°Áö¸¦ Ä¿³Î ¼Ò½º°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ßÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Æäµµ¶ó´Â 'Ä¿³Î (STABLE)'ÆÐÅ°ÁöÇϽʽÿÀ. ÀÌ ¸±¸®½º¿¡¼­´Â »õ·Î¿î ±â´É : ¡¤ µ¿±âÈ­ ¾÷ ¾Æ·¡¿¡ º¯°æ »çÇ×ÀÌ Æ÷ÇԵǾî ÁÖ·ù ¹öÀü. ¡¤ ¸¹Àº ¹× Á¤¸®ÀÇ ¸¹Àº. ¡¤ ramzswap ¸ðµâ ¸Å°³ º¯¼ö¿¡ ´ëÇÑ ÀÛÀº ÄÉÀ̽º¸¦ »ç¿ë NUM_DEVICES -> num_devices. ¡¤ ¼¼ °¡Áö ¸ðµâ ¸Å°³ º¯¼ö¸¦ Ãß°¡ backing_swap, memlimit_kb ¹× disksize_kb´Â rzscontrol À¯Æ¿¸®Æ¼ (À̽´ # 50 ÂüÁ¶)¸¦ »ç¿ëÇÏÁö ¾Ê°í ù ¹ø° ÀåÄ¡ (´Â / dev / ramzswap0)¸¦ ÃʱâÈ­ ÇÒ ¼ö ÀÖµµ·Ï. ¡¤ ramzswap µå¶óÀ̹ö¿Í xvmallocÀÇ »ç¿ë '±¸Á¶Ã¼ ÆäÀÌÁö'´ë½Å 32 ºñÆ®¿¡ PFN. ÀÌ°ÍÀº ÀÌ·¯ÇÑ 64 ºñÆ® ¾ÈÀüÀ» È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù. ¡¤ xvmalloc ´õ ÀÌ»ó º°µµÀÇ ¸ðµâ ¹× ±âÈ£¸¦ ³» º¸³»Áö ¾Ê½À´Ï´Ù. ±× ramzswap ºí·Ï µå¶óÀ̹ö¿Í Á÷Á¢ ÄÄÆÄÀÏ. ¡¤ ¾µ¸ð {·Îµå, ¾ð·Îµå} _modules.sh ½ºÅ©¸³Æ®¸¦ Á¦°Å. ¡¤ È®ÀÎÀº DiskSize¸¦ ¸¸µé±â À§ÇØ ¼öÁ¤Àº ½º¿Ò ÆÄÀÏÀ» ¹é¾÷¿¡ »ç¿ëÇÒ ¼öÀÖ´Â ÆäÀÌÁö¸¦ ÀÏÄ¡ÇÕ´Ï´Ù. ¡¤ init_device¿¡¼­ (Èñ±Í) ¿À·ù Á¶°ÇÀÇ ¼öÁ¤ ¸Þ¸ð¸® ´©¼ö (). ¡¤ create_device¿¡¼­ (Èñ±Í) ½ÇÆÐ ¼öÁ¤ ¸Þ¸ð¸® ´©¼ö (). ¡¤ Á¦°Å ½º¿Ò Æó±â ÈÄÅ©. ½º¿Ò ½Å°íÀÚ´Â ÀÌ·¯ÇÑ Áߺ¹À»ÇÕ´Ï´Ù. ¡¤ÀÇ Unify init_device () ½ÇÆÐ °æ·Î¿Í reset_device (). ¡¤ ³ª»Û ÆäÀÌÁö¸¦ ¹é¾÷ ½º¿ÒÀ» Çã¿ëÇÏÁö ¸¶½Ê½Ã¿À. ¡¤ ¼öÁ¤ Á¦·Î ÆäÀÌÁö ȸ°è. ¡¤ °¡Ä¡ÀÇ ¼Õ»óÀ» ¹æÁöÇϱâ À§ÇØ 64 ºñÆ® Åë°è¿¡ ´ëÇÑ »ç¿ë Àá±Ý. ¡¤ Àç ÀÛ¼º ½º¿Ò ÆÐÄ¡¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ¡¤ / O°¡ IÀÌ º¸·ùÁßÀÎ °æ¿ì ¸®¼ÂÀ̶ó°í ¼öÁ¤ Ãæµ¹.


compcache. °ü·Ã ¼ÒÇÁÆ®¿þ¾î