Performance¿¡ °üÇÑÀÚ·á ÀÐÀ½:592 - Contents - <1> performance Tuning Overview Summary <2> Performance Tuning 1) CPU (with Mutiprocessors) 2) Kernel <3> References 1. Performance Tuning Overview Summary 1) Introduction (°³¿ä) ¿äÁòó·³ S/W, H/W°¡ ÇÏ·ç¾ÆħÀÌ¸é ¾öû³­ ¹ßÀüÀ» ÀÌ·ç¾î °¡¸é¼­ ¹ßÀüÀ»ÇÏ°í Àִµ¥, ÀÌó·³ Operating system°ú Hardware°¡ º¯ÇØ°¡´Â ºü¸¥ ¼Óµµ´Â ÄÄÇ»ÅÍ °ü·ÃÀÚµé ¸ðµÎ¿¡°Ô Ä¿´Ù¶õ ¹®Á¦°¡ ¾Æ´Ò¼ö ¾ø´Ù. ±×·¯¹Ç·Î ÇÊ¿äÇÑ °æ¿ì¿¡´Â ±¸¹öÀü S/W¿Í H/W¸¦ ¿¹·Îµé¾î ±âº» ¼öÁØÀÇ Æ©´×ÀÌ ½Ã±â¿¡ µû¶ó¼­ ¾î´ÀÁ¤µµ °³¼±µÇ¾î ¿Ô´Â°¡¸¦ º¸¿© ÁÖ°íÀÚ Çϴ°ÍÀÌ ¸ñÀûÀÌ´Ù. System Broken Down Info Tuning Layers (½Ã½ºÅÛÀÇ Æ©´× °èÃþ) ====================================================================== Layers Variables ====================================================================== Source code Algorithm, Language, Programming model, Compiler Executable Environment, Filesystem Type Database Buffer Sizes, Indexing Kernel* Buffer Sizes, Paging, Tuning, Configuring Memory Cache Type, Line Size And Miss Cost Disk DriverAlgorithme, Disk Type, load Balance Windows & Graphics Window System, Graphics Library, Accelerators CPU* Processor Implementation Mutiprocessors Load Balancing, Concurrency, Bus Throughput Network Protocol, Hardware, Usage Pattern ======================================================================= 2) Performance Measurement Æ©´×ÀÇ ¸ñÀûÀº ´ë»ó½Ã½ºÅÛÀÇ ¼º´ÉÀ» °èÃøÇϱâÀ§ÇÑ ÀÏ·ÃÀÇ ½ÇÇèÀ» ¼³°èÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÇÏÁö¸¸ ¿©±â¼­´Â ±×·¯ÇÑ ¼Ò½ºÄڵ带 ÀÛ¼ºÇؼ­ ÃøÁ¤ÇÏ´Â ¹æ¹ý°ú ½ÇÇèÀÇ ¼³°è, °èÃø, ½Ã¹Ä·¹À̼Ç, ¼º´ÉÀÇ ¸ðµ¨È­ÀÇ °¢Á¾ ±â¹ý¿¡ °üÇÏ¿©´Â ¼³¸íÇÏÁö ¾Ê°í ½ÇÁ¦·Î ¿ì¸®°¡ site¿¡¼­ °£´ÜÈ÷ ÃøÁ¤ ÇÒ¼öÀÖ´Â ¹æ¹ýÀ» ±â¼úÇÏ°íÀÚ ÇÑ´Ù. (CPU Monitoring) 3) Quick Referencd for Common Tuning Tips The First 10 Tuning Steps (1) The system will usually have a disk bottleneck (2) You will be told that the system, is not I/O bound (3) After first pass tuning the system will still have a disk bottleneck! (4) Poor NFS response times are hard to pin down (5) Avoid the common memory usage misconceptions (See "Understanding Vmstat Output") (6) Don't panic when you see page-ins and page-out in vmstat (7) Look for page scanner activity (See "The Paging Algorithm In Solairs2") (8) Look for a lang run queue (vmstat procs r) (See "Understanding Vmstat On A Multiprocessor") (9) Look for processes blocked waiting for I/O (vmstat proc b) (10) Look for CPU system time dominating user time (See "Tracing In Solaris 2", "Monitoring The System With Protocol", "Kernel Profiling Using kgmon In Solaris 2") 2. Performance Tuning 1) CPU (Monitoring) (1) PS (Report proceses Status) - Options -a Print information about all processes most frequently requested: all those except process group leaders and processes not associated with a terminal. -A Write information for all processes. -c Print information in a format that reflects scheduler properties as described in priocntl(1). The -c option affects the output of the -f and -l options, as described below. -d Print information about all processes except session leaders. -e Print information about every process now running. -f Generate a full listing. (See below for significance of columns in a full listing.) -g grplist List only process data whose group leader's ID number(s) appears in grplist. # ps -efl F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 19 T root 0 0 0 0 SY f0271950 0 15:33:52 ? 0:00 sched 8 S root 1 0 0 41 20 f5a9bcd8 96 f5a9bea8 15:33:56 ? 0:00 /etc/init - 19 S root 2 0 0 0 SY f5a9b678 0 f0286534 15:33:56 ? 0:00 pageout 19 S root 3 0 0 0 SY f5a9b018 0 f028a74c 15:33:56 ? 0:01 fsflush 8 S root 367 1 0 41 20 f5aa29a0 328 f5921b14 15:35:55 ? 0:00 /usr/lib/saf/sac -t 300 8 S root 372 371 0 49 20 f5aa2340 173 f594b3d6 15:35:55 ? 0:00 vxnotify -f -w 15 8 S root 256 1 0 56 20 f5aa1ce0 430 f624befe 15:35:38 ? 0:00 /usr/sbin/inetd -s 8 S root 12 1 0 41 20 f5aa1680 419 f594b386 15:33:58 ? 0:32 vxconfigd -m boot 8 S root 239 1 0 41 20 f6132cc8 417 f594b21e 15:35:31 ? 0:00 /usr/sbin/rpcbind 8 S root 241 1 0 65 20 f6132668 385 f594b1a6 15:35:32 ? 0:00 /usr/sbin/keyserv 8 S root 247 1 0 47 20 f6132008 422 f594b17e 15:35:32 ? 0:00 /usr/sbin/kerbd 8 S root 261 1 0 74 20 f61d4990 383 f594b066 15:35:39 ? 0:00 /usr/lib/nfs/lockd 8 S root 280 1 0 74 20 f61d4330 453 f624bed6 15:35:40 ? 0:00 /usr/lib/autofs/automountd (2) VMSTAT (Report Virtual Memory statistics) - Options -c Report cache flushing statistics. By default, report the total number of each kind of cache flushed since boot time. The types are: user, context, region, seg- ment, page, and partial-page. -i Report the number of interrupts per device. -s Display the total number of various system events since boot. -S Report on swapping rather than paging activity. This option will change two fields in vmstat's ``paging'' display: rather than the ``re'' and ``mf'' fields, vmstat will report ``si'' (swap-ins) and ``so'' (swap- outs). 1> System Events # vmstat -s (show the total of various system events that have taken place since the system was last booted) 0 swap ins 0 swap outs 0 pages swapped in 0 pages swapped out 36976 total address trans. faults taken 3905 page ins 135 page outs 6573 pages paged in 1575 pages paged out 791 total reclaims 786 reclaims from free list 0 micro (hat) faults 36976 minor (as) faults 3641 major faults 11172 copy-on-write faults 8806 zero fill page faults 9447 pages examined by the clock daemon 1 revolutions of the clock hand 3492 pages freed by the clock daemon 460 forks 46 vforks 507 execs 153277 cpu context switches 302546 device interrupts 52688 traps 321152 system calls 59129 total name lookups (cache hits 91%) 24 toolong 2581 user cpu 6329 system cpu 188653 idle cpu 8366 wait cpu 2> Swapping2> Swapping # vmstat -S (show swapping statistics in addition to paging statistics) ' si Number of pages swapped in per second ' so Number of whole processes swapped out procs memory page disk faults cpu r b w swap free si so pi po fr de sr s0 s2 sd sd in sy cs us sy id 0 0 0 199188 2204 0 0 11 2 6 0 4 4 0 0 0 46 156 75 1 3 96 3> Cache Flushing # vmstat -c (show cache flushing statistics. It shows the total number of flush caches since the last boot.) ' usr User ' ctx Context ' rgn Region ' seg Segment ' pag Page ' par Partial-page flush statistics: (totals) usr ctx rgn seg pag par 0 0 0 0 0 0 4> Interrupts # vmstat -i (show interrupts per device) interrupt total rate -------------------------------- clock 266951 100 -------------------------------- Total 266951 100 5> Commons # vmstat 5 procs memory page disk faults cpu r b w swap free re mf pi po fr de sr s0 s2 sd sd in sy cs us sy id 0 0 0 199716 2008 0 13 9 2 5 0 3 3 0 0 0 43 141 72 1 2 97 0 0 0 201788 1092 0 12 0 0 0 0 0 0 0 0 0 21 49 38 2 1 97 0 0 0 201788 1092 0 0 0 0 0 0 0 0 0 0 0 30 35 27 2 1 97 0 0 0 201788 1092 0 0 0 0 0 0 0 0 0 0 0 14 35 21 1 0 99 0 0 0 201788 1092 0 0 0 0 0 0 0 0 0 0 0 8 35 22 2 0 98 0 0 0 201788 1092 0 0 0 0 0 0 0 0 0 0 0 5 56 36 1 0 99 r = 0 : CPU Idle (White) 0 < (r/ncpus) <= 5 : No Problem (Green) 3.0 <= (r/ncpus) <= 5 : CPU Busy (Amber) 5.0 <= (r/ncpus) : CPU Busy (Red) (3) MPSTAT (Report per-processor statistics) - options interval Report once each interval seconds. count Only print count reports. # mpstat 5 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 11 1 0 141 34 69 12 0 2 0 133 1 2 3 94 0 11 0 0 129 27 47 7 0 1 0 44 3 0 0 97 0 0 0 0 125 25 21 4 0 0 0 28 1 2 0 97 0 0 0 0 118 18 21 3 0 0 0 28 1 0 0 99 0 0 0 0 105 4 36 6 0 1 0 49 2 0 0 98 200 > smtx : No Problem (Green) 200 <= smtx < 400 : Mutex Stall (Amber) 400 <= smtx : Mutex Stall (Red) 2) Kernel (1) Ä¿³ÎÀÇ °³¿ä 1> È­ÀÏ Á¦¾î ½Ã½ºÅÛ - »ç¿ëÀÚ¸¦ À§ÇÏ¿© È­ÀÏÀ» °ü¸® - È­ÀÏÀÇ °ø°£À» ÇÒ´ç - ÀÚÀ¯ °ø°£À» °ü¸® - È­ÀÏ¿¡ ´ëÇÑ Á¢±ÙÀ» Á¦¾îÇÏ°í µ¥ÀÌŸ¸¦ ²¨³»¿Â´Ù - Ä¿³Î°ú 2Â÷ ±â¾ï ÀåÄ¡ »çÀÌÀÇ µ¥ÀÌŸ È帧À» Á¶ÀýÇÏ´Â ¹öÆÛ¸µ ±â¹ýÀ» ÀÌ¿ëÇÏ¿© È­ÀÏÀÇ µ¥ÀÌŸ¸¦ Á¢±Ù 2> ÇÁ·Î¼¼½º Á¦¾î ½Ã½ºÅÛ - ÇÁ·Î¼¼½ºÀÇ µ¿±âÈ­, ÇÁ·Î¼¼½º°£ÀÇ Åë½ÅÀ̳ª ¸Þ¸ð¸® °ü¸® - ÇÁ·Î¼¼½º ½ºÄÉÁ층 ´ã´ç - ÇÁ·Î¼¼½º È­ÀÏ Çã°¡¸ðµå´Â ½´ÆÛÀ¯Àú¶ó°í ºÒ¸®´Â Ưº°ÇÑ »ç¿ëÀÚ¸¦ ±¸ºÐÇÏ¿© Ä¿³Î Ư±Ç ºÎ¿© 3> Ä¿³ÎÀÇ ¹èÄ¡ - Ä¿³Î°ú °ü·ÃµÈ °¡»ó ÁÖ¼ÒÀÇ ¸ÅÇÎÀº ¸ðµç ÇÁ·Î¼¼½º¿Í´Â µ¶¸³ÀûÀÎ Á¸Àç - Ä¿³ÎÄÚµå¿Í µ¥ÀÌŸ´Â ¿µ±¸ÀûÀ¸·Î ½Ã½ºÅÛ³»¿¡ Á¸Àç - ½Ã½ºÅÛ booting½Ã Ä¿³ÎÄÚµå´Â ¸Þ¸ð¸®¿¡ ÀûÀç - °¡»ó ÁÖ¼Ò´Â ¸ÅÇÎÇϱâ À§ÇØ ÇÊ¿äÇÑ Å×À̺í°ú ·¹Áö½ºÅ͸¦ ¼³Á¤ÇÑ´Ù 4> ½Ã½ºÅÛ ºÎÆ®¹× Init ÇÁ·Î¼¼½º ¾Ë°í¸®Áò start /* ½Ã½ºÅÛÀ» ±âµ¿½ÃÅ°´Â ÇÁ·Î½ÃÁê¾î */ ÀÔ·Â : ¾øÀ½ Ãâ·Â : ¾øÀ½ { ¸ðµç Ä¿³Î µ¥ÀÌŸ ±¸Á¶¸¦ ÃʱâÈ­ ÇÑ´Ù; ·çÆ®¸¦ ÀÇ»ç(pseudo) mount ÇÑ´Ù; ÇÁ·Î¼¼½º 0ÀÇ È£³ª°æÀ» ¼ÕÀ¸·Î ÇϳªÇϳª ±¸Ãà; ÇÁ·Î¼¼½º 1À» fork; { /* ÇÁ·Î¼¼½º 1 */ ¿µ¿ªÀ» ÇÒ´ç; ¿µ¿ªÀ» initÀÇ ÁÖ¼Ò°ø°£À» ºÎÂø(attach); º¹»çÇÏ·Á´Â Äڵ带 ³ÖÀ»¼ö ÀÖµµ·Ï ¿µ¿ªÀ» Å°¿ò; Init¸¦ execÇÒ¼ö ÀÖµµ·Ï Ä¿³Î °ø°£À¸·ÎºÎÅÍ init »ç¿ëÀÚ °ø°£À¸·Î Äڵ带 º¹»ç; ¸ðµå¸¦ º¯°æ:Ä¿³Î·ÎºÎÅÍ »ç¿ëÀÚ ¸ðµå·Î º¹±Í; /* Init´Â ÀÌ ÁöÁ¡¿¡ °áÄÚ µµ´ÞÇÏÁö ¾Ê´Â´Ù-À§ÀÇ ¸ðµåº¯°æ °á°ú·Î, Init´Â /etc/init¸¦ execÇÏ°í ½Ã½ºÅÛ È£ÃâÀ» ÇÏ´Â ¸é¿¡ ÀÖ¾î, "Á¤±ÔÀû"ÀÎ »ç¿ëÀÚ ÇÁ·Î¼¼½º°¡ µÈ´Ù */ } /* ÇÁ·Î¼¼½º 0ÀÌ ¿©±â¼­ °è¼Ó */ Ä¿³Î ÇÁ·Î¼¼½ºµéÀ» fork; /* ÇÁ·Î¼¼½º 0Àº ÇÁ·Î¼¼½ºÀÇ ÁÖ¼Ò°ø°£À» ¸ÞÀÎ ¸Þ¸ð¸®¿Í ½º¿Ò ÀåÄ¡¿¡ ÇÒ´çÇÏ´Â °ÍÀ» °ü¸®Çϱâ À§ÇØ ½º¿ÍÆÛ¸¦ È£ÃâÇÑ´Ù ÀÌ°ÍÀº ¹«ÇÑ ·çÇÁÀÌ´Ù;ÇÁ·Î¼¼½º 0Àº ÇÒÀÏÀÌ ¾øÀ¸¸é Ç×»ó ÀÌ ·çÇÁ¿¡¼­ ÀáÀÜ´Ù */ ½º¿ÍÆÛ ¾Ë°í¸®ÁòÀÇ Äڵ带 ¼öÇà; } ------------------------------------------------------------------------------- ¾Ë°í¸®Áò init /* initÇÁ·Î¼¼½º, ½Ã½ºÅÛÀÇ 1¹ø ÇÁ·Î¼¼½ºÀÌ´Ù */ ÀÔ·Â : ¾øÀ½ Ãâ·Â : ¾øÀ½ { fd=open("/etc/inittab",O_RDONLY); while (line_read(fd, buffer)) { /* È­ÀÏÀÇ °¢ ÇàÀ» Àд´٠*/ if(È£ÃâµÈ »óÅÂ! = bufferÀÇ »óÅÂ) continue; /* while ·çÇÁ·Î µÇµ¹¾Æ°¨ */ /* »óÅ°¡ ÀÏÄ¡ÇÔ */ if(fork() == 0) { execl("buffer¿¡ ÁöÁ¤µÈ ÇÁ·Î¼¼½º"); exit(); } while ((id=wait(int *) 0))! = -1) { /* ³ºÀº (spawn) ÀÚ½ÄÀÌ Á×¾ú´Âµð ¿©±â¼­ °Ë»ç */ /* ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ´Ù½Ã ³ºÀ»Áö¸¦ °í·Á */ /* ±×·¸Áö ¾ÊÀ¸¸é, ´Ü¼øÈ÷ °è¼Ó */ } } 5> Ä¿³Î parameters ------------------------------------------------------------------------------- Ä¿³ÎÀÚ¿ø Æ©´× °¡´ÉÇ׸ñ µðÆúÆ® ¼³Á¤ ------------------------------------------------------------------------------- ÄÝ ¾Æ¿ô ncallout 16+max_nrpocs i node ufs_ninode max_nprocs + 16 + maxusers + 64 ³×ÀÓ Ä³½¬ ncsize nax_nprocs + 16 + maxusers + 64 ÇÁ·Î¼¼½º max_nprocs 10 + 16 * maxusers ÄõÅÍÅ×À̺í ndquot (maxusers *NMOUNT)/4 + max_nprocs »ç¿ëÀÚÇÁ·Î¼¼½º maxuproc max_nprocs -5 ------------------------------------------------------------------------------- (2) Solaris 2.X maxusers ¼³Á¤°ª - maxuser´Â ½Ã½ºÅÛ ³»¿¡ ³»ÀåµÈ RAMÀÇ ¸Þ°¡¹ÙÀÌÆ®¼ö¿Í °°Àº °ªÀ¸·Î ¼³Á¤ - maxuser¼ö´Â Ä¿³ÎÀÌ ºÎÆý𣿡 »ç¿ëµÇ´Â ¾à 2MB¸¦ Æ÷ÇÔÇÏÁö ¾ÊÀ¸¸é physmem ¿¡ ±âÃÊÇÑ´Ù - ÇÏÇÑ°ªÀº 8À̸ç ÀÚµ¿¼³Á¤¿¡¼­ÀÇ »óÇÑ°ªÀº 1024(RAMÀÌ 1GB ÀÌ»óÀÎ °æ¿ì) ÀÌ´Ù - ¼öµ¿À¸·Î ¼³Á¤ÇÑ °ªÀº üũµÇ¾î 2048 ÀÌÇÏ·Î Á¦ÇÑ (3) Å×ÀÌºí »çÀÌÁî¿Í Ä¿³ÎÀÇ ¸Þ¸ð¸® ÇÒ´ç °Ë»ç - Ä¿³ÎÀº ÇÊ¿ä¿¡ µû¶ó ¸Þ¸ð¸®¸¦ ±Û·Î¹ú ÇÁ¸® ¸®½ºÆ®¿¡¼­ µ¿ÀûÀ¸·Î ÇÒ´ç # sar -v 1 SunOS HongSW 5.5 Generic sun4m 06/29/96 09:59:52 proc-sz ov inod-sz ov file-sz ov lock-sz 09:59:53 50/474 0 1297/1297 0 323/323 0 0/0 # sar -k 1 SunOS HongSW 5.5 Generic sun4m 07/02/96 06:59:26 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 06:59:27 962560 791556 0 2400256 2204272 0 2142208 0 (4) µð·ºÅ丮 Ž»öij½¬(dnlc) - maxuser¸¦ ±â¹ÝÀ¸·ÎÇÏ¿© Å©±â °áÁ¤ - ij½¬ »çÀÌÁî°¡ Å©¸é Ŭ¶óÀ̾ðÆ® NFS ¼­¹öÀÇ ºÎÇÏ°¨¼Ò - NFS ¼­¹öÀÇ º¥Ä¡¸¶Å©¿¡¼­´Â Ä¿³Î ¸Þ¸ð¸®ÀÇ ¿ë·®Àº 16,000À¸·Î ¼³Á¤µÇ¸ç ¶ÇÇÑ maxuser = 2048 ¿¡¼­´Â 34906À¸·Î ÀÎÁ¤ # vmstat -s 0 swap ins 0 swap outs 0 pages swapped in 0 pages swapped out 152546 total address trans. faults taken 4844 page ins 1033 page outs 7952 pages paged in 3365 pages paged out 1609 total reclaims 1598 reclaims from free list 0 micro (hat) faults 152546 minor (as) faults 4555 major faults 43797 copy-on-write faults 24943 zero fill page faults 12374 pages examined by the clock daemon 2 revolutions of the clock hand 6155 pages freed by the clock daemon 1971 forks 110 vforks 1916 execs 4157796 cpu context switches 34296735 device interrupts 212208 traps 1416794 system calls 190345 total name lookups (cache hits 95%) 24 toolong 6271 user cpu 29261 system cpu 31448842 idle cpu 15157 wait cpu (5) inode ij½¬ - È­ÀÏ ½Ã½ºÅÛ³»ÀÇ ¿£Æ¼Æ¼ÀÇ ´ëÇÑ Á¶ÀÛÀÌ ½ÇÇàµÉ ¶§¿¡´Â ¸Þ¸ð¸® »óÁÖ inode »ç¿ë - inode´Â ´Ù½Ã ÇÊ¿äÇØÁø °æ¿ì¿¡ ´ëºñÇÏ¿© ij½¬¿¡ ±â·Ï - ½Ã½ºÅÛÀÌ Ä³½¬¶ó´Â ¾×ƼºêÇÑ inode¿Í ºñ¾×ƼºêÇÑ inodeÀÇ »óÇѼö´Â ufs-ninode ¿¡ ÀÇÇؼ­ ¼³Á¤ - °¢ node´Â lg-memÇ®¿¡¼­ 512¹ÙÀÌÆ®ÀÇ Ä¿³Î ¸Þ¸ð¸® »ç¿ë (6) ¹öÆÛ Ä³½¬ - nbuf : ÆäÀÌÁö »çÀÌÁîÀÇ ¹öÆÛ°¡ ¸î°³ ÇÒ´çµÇ¾ú´ÂÁö¸¦ °è¼Ó ±â·Ï - p-nbuf : ÇÑ ¹ú¿¡ ÇÒ´çµÈ »õ·Î¿î ¹öÆÛÀÇ ¼ö¸¦ Á¤¸® - bufhwm : ¹öÆÛ¿¡ ÇÒ´çµÈ ¸Þ¸ð¸®·®À» Æ©´×Çϱâ À§ÇÑ º¯¼ö (KB´ÜÀ§·Î ÁöÁ¤) # sar -b 5 SunOS HongSW 5.5 Generic sun4m 07/02/96 07:13:59 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 07:14:00 0 0 100 0 0 100 0 0 (7) vmstat Ãâ·Â - Sun System¿¡ À־ ÆäÀÌ¡ »óȲÀ» Monitoring # vmstat 5 procs memory page disk faults cpu r b w swap free re mf pi po fr de sr s0 s2 sd sd in sy cs us sy id 0 0 0 37576 1384 0 0 0 0 0 0 0 0 0 0 0 8 4 13 0 0 100 0 0 0 199960 1044 0 12 0 0 0 0 0 0 0 0 0 13 60 45 1 1 98 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 9 32 30 0 0 100 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 4 42 23 1 0 99 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 1 42 25 1 0 99 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 2 42 23 1 0 99 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 2 42 23 1 0 99 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 5 42 27 1 0 99 0 0 0 199960 1044 0 0 0 0 0 0 0 0 0 0 0 9 42 23 1 0 99 r : ´ë±â ÇÁ·Î¼¼¼­ (8) Æ©´× ÆĶó¹ÌÅÍ * phymem : ÀÌ °ªÀº »ç¿ë°¡´ÉÇÑ ¹°¸® ¸Þ¸ð¸®ÀÇ ¸ÞÀÌÁö ¼ö·Î ¼³Á¤µÈ´Ù. Solaris 2.2¿¡¼­´Â maxusersÀÇ °ªÀº physmemÀÇ °ª¿¡ ±âÃÊÇÏ¿© °è»êµÈ´Ù. ½Ã½ºÅÛÀÇ ¼º´ÉÀ» Á¶½ÃÇϱâ À§ÇÑ ½Ã½ºÅÛÀÇ ¸Þ¸ð¸®¸¦ Àû°Ô ÇÏ¿© ½ÇÇà Å×½ºÆ®¸¦ ÇÏ·Á´Â °æ¿ì¿¡´Â /etc/system ¿¡¼­ phymemÀ» ¼³Á¤ÇÏ¿© ÀçºÎÆÃÇÏ¸é ½Ã½ºÅÛÀÌ RAM ÀüºÎ¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÒ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î phymem¿¡¼­ ¸Þ¸ð¸®¸¦ Àû°Ô ÇÑ ½Ã½ºÅÛ¿¡¼­ ´ë·®ÀÇ ÆäÀÌ¡À» ½ÇÇàÇÑ °æ¿ìÀÇ ¼º´ÉÀº RAMÀ» ¹°¸®ÀûÀ¸·Î Á¦°ÅÇÏ¿© ´ë·®ÀÇ ÆäÀÌ¡À» ½ÇÇàÇÑ °æ¿ì¿Í´Â ´Ù¸¥°ÍÀÌ µÈ´Ù * minfree : minfree´Â phymemÀ» 64·Î ³ª´«°ª(phymem/64)À¸·Î ¼³Á¤µÈ´Ù. Ä¿³ÎÀº minfree¸¦ ¾Æ·¡ÀÇ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù. ÀÛÀº ÇÁ·Î±×·¥À» ½ÇÇà ÇÒ¶§´Â freememÀÌ minfree ¹Ì¸¸À¸·Î µÇÁö¾Ê´ÂÇÑ ÇÁ·Î±×·¥ Àüü°¡ Çѹø¿¡ ·ÎµåµÇ¾î ¼¼¹ÐÇÑ ÆäÀÌ¡Àº µÇÁö ¾Ê´Â´Ù - ±â·ÏÇÒ¶§ º¹»ç Á¶ÀÛÀ» ÇÏ´Â µ¿¾È freememÀÌ minfree¹Ì¸¸ÀÇ °æ¿ì¿¡´Â ¿À¸®Áö³¯ ÆäÀÌÁö¸¦ ½ºÆ¿ÇÏ¿© º¹»ç¸¦ °ø±ÞÇÒ¼ö ÀÖ´Ù - freememÀÌ minfree ¹Ì¸¸ÀÇ °æ¿ì¿¡´Â ÀÔ,Ãâ·Â ÀбâÀÇ Å¬·¯½ºÅÍÈ­°¡ ½ÇÇàµÇÁö ¾Ê°Ô µÈ´Ù - ½ºÄÉÁì·¯´Â »ç¿ë°¡´ÉÇÑ ¸Þ¸ð¸®°¡ minfree + tune_t_gpgsol¿¡ ä¿öÁöÁö ¾Ê´Â °æ ¿ì¿¡´Â ÇÁ·Î¼¼¼­¸¦ ½º¿ÒÀÎ ÇÏÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ »óÅ°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡´Â ¸Å¿ì µå¹°´Ù * desfree : desfree´Â phymemÀ» 32·Î ³ª´« °ªÀ¸·Î ¼³Á¤µÈ´Ù. Ä¿³ÎÀº desfree¸¦ ¾Æ·¡ÀÇ ¸ñÀû À¸·Î »ç¿ëÇÑ´Ù. - 100HzÀÇ Å¬·° ·çƾ µ¿¾È¿¡ freememÀÌ lostfree¹Ì¸¸À¸·Î µÇ¾î ÀÖÁö ¾ÊÀºÁöÀÇ ¿©ºÎ¸¦ È®ÀÎ ÇÏ´Â Å×½ºÆ®°¡ 1ÃÊ´ç 4ȸ ÀÌ·ç¾î Áø´Ù. ¹Ì¸¸À¸·Î µÇ¾î ÀÖ´Â °æ¿ì ¿¡´Â ÆäÀÌÁö ¾Æ¿ô µ¥¸óÀ¸·Î ±âµ¿ ÄÝÀÌ ¼Û½ÅµÈ´Ù - lostfree´Â ÁÖ»çÀ² º¯°æÀÇ ±âÁؼ±ÀÌ µÈ´Ù. freememÀÌ lostfree¿Í ¶È°°Àº °æ¿ì, ÁÖ»çÀ²Àº slowscanÀ¸·Î ¼³Á¤µÈ´Ù - freememÀÌ lostfree¹Ì¸¸ÀÇ °æ¿ì, Ä¿³ÎÀº ÆäÀÌÁö »çÀÌÁîÀÇ ÀϽà ¹öÆÛ ÀϺθ¦ Àå·¡ÀÇ »ç¿ë¿¡ ´ëºñÇÏ¿© À¯ÁöÇÏ´Â ´ë½Å¿¡ ÇعæÇÏ·Á°í ÇÑ´Ù * fastscan : fastscanÀº phymemÀÇ Àý¹Ý °ªÀ¸·Î ¼³Á¤µÈ´Ù. ÀÌ°ÍÀº ÁÖ»çÀ²ÀÇ º¯°æ¿¡ À־ freememÀÌ 0ÀÎ °æ¿ìÀÇ °¡°ø ÁÖ»çÀ²·Î½á »ç¿ëµÈ´Ù * slowsacn : »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®·®ÀÌ lostfree¿Í ¶È°°À»¶§ ¾Ë°í¸®ÁòÀÌ 1ÃÊ°£ Á¶»çÇÏ´Â ÆäÀÌ Áö ¼öÀÌ´Ù. fastscanÀ» 10À¸·Î ³ª´« ¼ö·Î ¼³Á¤µÇ¾î ÀÖ´Ù. ºó ¸Þ¸ð¸®·®ÀÌ lostfree¿¡¼­ 0¿¡ °¡±î¿Í Áü¿¡ µû¶ó 1ÃÊ°£ÀÇ ÁÖ»çÀ² ¼ö´Â slowscanÀ¸·Î ºÎÅÍ fastscanÀ¸·Î ºñ·ÊÀûÀ¸·Î »ó½ÂÇÑ´Ù * maxpqio : ½Ã½ºÅÛÀÌ ½ºÄÉÁì·¯ 1ÃÊ´çÀÇ ÆäÀÌÁö ¾Æ¿ô ÀÔ,Ãâ·Â Á¶ÀÛÀÇ ÃÖ´ë ¼öÀÌ´Ù µðÆúÆ®´Â 40ÆäÀÌÁö/ÃÊ·Î ´ÜÀÏ 3600rpm µð½ºÅ©·ÎÀÇ ·£´ý ¿¢¼¼½º°¡ °úÀ×À¸·Î µÇ´Â °ÍÀ» ÇÇÇϱâ À§ÇÏ¿© ȸÀüÀ²ÀÇ 3/2·Î ¼³Á¤µÇ¾î ÀÖ´Ù. ´õ±¸³ª ¸¹Àº µð½ºÅ© ¶Ç´Â ´õ¿í °í¼ÓÀÇ µð½ºÅ©¸¦ ½º¿Ò °ø°£À¸·Î »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ´õ¿í Å« ¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÇöÀç´Â ¸¹Àº ½Ã½ºÅÛÀÌ 5400rpmÀÇ µð½ºÅ©¸¦ »ç¿ëÇÏ°í ÀÖ´Ù maxpqioÀÇ º¯°æÀº ÀçºÎÆà ÈÄ¿¡ À¯È¿ÇØÁø´Ù. Áï ½ÇÇàÁßÀÎ ½Ã½ºÅÛ¿¡¼­´Â º¯°æµÇÁö ¾Ê´Â´Ù * handspred : handspred´Â phymem°ú ÆäÀÌÁö »çÀÌÁ °öÇÏ¿© ³ª´« °ªÀ¸·Î ¼³Á¤µÈ´Ù ±×·¯³ª ÀÌ °ªÀº ÃʱâÈ­Áß¿¡ fastscanÀÌ»óÀÇ Å©±â·Î Áõ°¡µÈ´Ù Áï phymem°ú ÆäÀÌÁö »çÀÌÁ ¼­·Î °öÇÏ¿© 2·Î ³ª´«°ªÀ¸·Î ¼³Á¤µÈ´Ù.