LinuxÉèÖÃÄں˲ÎÊýµÄ·½·¨

2026/4/28 2:16:49

LinuxÉèÖÃÄں˲ÎÊýµÄ·½·¨

1 Äں˲ÎÊýµÄ²é¿´·½·¨

ʹÓá°sysctl -a¡±ÃüÁî¿ÉÒԲ鿴ËùÓÐÕýÔÚʹÓõÄÄں˲ÎÊý¡£Äں˲ÎÊý±È½Ï¶à£¨Ò»°ã¶à´ï500Ï£¬°´ÕÕǰ׺Ö÷Òª·ÖΪÒÔϼ¸´óÀࣺnet.ipv4¡¢net.ipv6¡¢net.core¡¢vm¡¢fs¡¢dev.parport¡¢dev.cdrom ¡¢dev.raid¡¢kernelµÈµÈ¡£ÏàͬµÄlinux£¬°²×°µÄ×é¼þºÍʹÓõķ½Ê½²»Ò»Ñù£¬ÕýÔÚʹÓõÄÄں˲ÎÊýÊDz»Ò»ÑùµÄ¡£

ËùÓеÄÄں˲ÎÊýµÄ˵Ã÷ÎĵµÊǷŵ½/usr/src/linux/Documentation/sysctlÖеģ¬Èç¹ûÏëÖªµÀ¶ÔÄں˲ÎÊýµÄ˵Ã÷£¬¿ÉÒÔµ½¸ÃĿ¼Ï²鿴ÏàÓ¦µÄ˵Ã÷Îĵµ¡£

2 Äں˲ÎÊýµÄµÄÉèÖ÷½·¨

ÓÉÓÚLinuxµÄÄں˲ÎÊýÐÅÏ¢¶¼´æÔÚÄÚ´æÖУ¬Òò´Ë¿ÉÒÔͨ¹ýÃüÁîÖ±½ÓÐ޸쬲¢ÇÒÐ޸ĺóÖ±½ÓÉúЧ¡£Ò²¿ÉÒÔͨ¹ýÎļþµÄ·½Ê½½øÐÐÉèÖá£ÏÂÃæ¾Í½éÉÜÕâÁ½ÖÖÐ޸ķ½·¨¡£

2.1 ÃüÁîÉèÖõķ½Ê½

¿ÉÒÔÓÃÁ½ÖÖ·½·¨ÊµÏÖ¡£

1¡¢Ê¹Óá°sysctl -w ²ÎÊýÃû=Öµ¡±µÄ·½Ê½

¼ÙÉèÎÒÃǰÑnet.ipv4.ip_forwardµÄÖµÐÞ¸ÄΪ1£¬Ê¹ÓÃÃüÁî¡°sysctl -w net.ipv4.ip_forward=1¡±¡£

2¡¢ÐÞ¸ÄÄں˲ÎÊý¶ÔÓ¦µÄprocÎļþ

Äں˲ÎÊýλÓÚ/proc/sys/֮ϣ¬²ÎÊýÃû³ÆÊÇÒÔÎļþËùÔڵķ¾¶£¬²¢½«¡°/¡±ÒÔ¡°.¡±À´È¡´ú¡£¾ÙÀýÀ´Ëµ£¬/proc/sys/net/ip_forwardµÄ²ÎÊýÃû³ÆÎªnet.ipv4.ip_forward¡£

ͬÑù°Ñnet.ipv4.ip_forwardµÄÖµÐÞ¸ÄΪ1£¬Ê¹ÓÃÃüÁî¡°echo ¡°1¡± > /proc/sys/net/ipv4/ip_forward¡±¡£

×¢Ò⣬ÕâÀïprocÎļþ¸úÆÕͨµÄÎļþ²»Ò»Ñù¡£Ò»°ãÒ»¸öÎļþÓÃechoдÈëÄÚÈÝÖ®ºó£¬»á±ä³ÉÒ»¸öÎı¾Îļþ£¬µ«echoÐÞ¸ÄprocÎļþÖ®ºó»¹ÊǸö¿ÕÎļþ¡£

2.2 ÎļþÉèÖõķ½Ê½

¸ü¸ÄµÄÄں˲ÎÊýĬÈϱ£´æÔÚ/etc/sysctl.confÎļþÖС£Ð޸ĵÄʱºò¿ÉÒÔÖ±½ÓÓÃvi±à¼­sysctl.confÎļþ£¬Ôö¼ÓÒªÐ޸ĵÄÄں˲ÎÊýÄÚÈÝ£¬Ð޸ĵĸñʽΪ£º²ÎÊýÃû=Öµ¡£ÀýÈ磬°Ñnet.ipv4.ip_forwardµÄÖµÐÞ¸ÄΪ1£¬ÔÚsysctl.confÖÐÔö¼ÓÏÂÃæÕâÐÐÄÚÈÝ£º

net.ipv4.ip_forward=1

ÎļþÐ޸ĺú󣬽øÐб£´æ¡£È»ºóʹÓá°sysctl -p ÅäÖÃÎļþÃû¡±À´Ê¹ÅäÖÃÉúЧ£¬Èç¹ûÅäÖÃÎļþÊÇĬÈϵģ¬¿ÉÒÔ²»ÓÃÊäÅäÖÃÎļþÃû£¬¼´Ê¹Óá°sysctl -p¡±¡£

ͨ¹ýÎļþÉèÖõķ½Ê½Ð޸ĵÄÄں˲ÎÊýÊÇÔÚÏµÍ³ÖØÆôºó½«Ê§Ð§£¨ÎÒ֮ǰÈÏΪÐ޸ĺóµÄÄں˲ÎÊý·ÅÔÚÎļþÖУ¬ÏµÍ³Æô¶¯µÄʱºò»á¶ÁÕâ¸öÎļþ£¬ÖØÆôºóÉèÖÃÓ¦¸Ã²»»áʧЧ¡£µ«¾­¹ýÑéÖ¤£¬Ò»°ã»áʧЧ£¬µ«Èç¹û°Ñ½«Ä¬ÈϵÄboot.sysctl·þÎñ´ò¿ª£¬ËùÒÔϵͳÆô¶¯Ê±¾Í»áÖ´ÐÐÕâ¸öÎļþµÄÉèÖã©¡£°ÑÎÒÃÇÐ޸IJÎÊýµÄÃüÁîдÈëÆô¶¯Ö´Ðнű¾ÎļþÀï/etc/rc.local£¬ÕâÑùÏµÍ³ÖØÆôºóÅäÖþͲ»»áʧЧ¡£

Îļþ·½Ê½µÄºÃ´¦ÊÇÄں˲ÎÊýÉèÖõÄÖµ¿ÉÒÔÓÃÎļþ±£ÁôÏÂÀ´£¬µ÷Óá°sysctl -p¡±¿ÉÒÔʹÎÄ

¼þÖеÄËùÓÐÅäÖõÄÖµÂíÉÏÉúЧ¡£

3 Äں˲ÎÊýÉèÖõÄʵ¼ÊÓ¦ÓÃ

3.1 ÎļþºÍÍøÂçÀà²ÎÊý

ÎÒÃÇÒ»°ãÐèÒª¹Ø×¢µÄÎļþÀàµÄÄں˲ÎÊýÓÐfs.file-maxºÍfile-nr¡£fs.file-maxÊÇÒ»¸öϵͳÄÜÉêÇëµ½µÄ×î´óÎļþ¾ä±úÊý£»file-nrÊÇÖ»¶ÁµÄ£¬ËüÓëfile-maxÏà¹Ø£¬½öÓÃÓÚÏÔʾÒÑ·ÖÅäÎļþ¾ä±úµÄÊýÄ¿¡¢ÒÑʹÓÃÎļþ¾ä±úµÄÊýÄ¿¡¢Îļþ¾ä±úµÄ×î´óÊýÄ¿£¬ÈçÏÂͼËùʾ¡£ suse11lwb:/home/zxin10/steven # sysctl -a|grep fs.file-nr fs.file-nr = 5152 0 6815744 ¶ÔÓÚÎļþ¾ä±úµÄÎÊÌ⣬¶ÔÓÚÒª´¦ÀíºÜ¶àÎļþµÄ½Ó¿Ú»úҪעÒ⣬ϵͳµÄÎļþ¾ä±úÊÇ·ñ¹»Óá£ÒÔǰ¶ÌÐÅÍø¹ÜÏîÄ¿¾Í³öÏÖ¹ýÎļþ¾ä±úµÄÎÊÌ⣬ÏÖ³¡ÊÇSolarisϵͳ£¬¶ø¼ÒÀïµÄ²âÊÔÊÇÔÚHP-UX½øÐУ¬ÓÉÓÚSolarisĬÈÏÖ§³ÖµÄÎļþ¾ä±ú±ÈHP-UXÉٺܶࣨÈçÏÂͼËùʾ£©£¬¼ÒÀï²âÊÔûÓз¢ÏÖ£¬´Ó¶øµ¼Ö¹ÊÕÏй©µ½ÏÖ³¡¡£ ²Ù×÷ϵͳÃû³Æ Solaris AIX Suse Linux HP-UX NT ĬÈÏϵͳ¾ä±úÊý 256 2000 1024 2000 10000 ÏÂÃæ½éÉÜÐÞ¸ÄÎļþ¾ä±úÏÞÖÆµÄ·½·¨¡£ 1¡¢°´ÕÕ×î´ó´ò¿ªÎļþÊýÁ¿µÄÐèÇóÉèÖÃÄں˲ÎÊý£¬²¢ÇÒͨ¹ý¼ì²é/proc/sys/fs/file-maxÎļþÀ´È·ÈÏ×î´ó´ò¿ªÎļþÊýÒѾ­±»ÕýÈ·ÉèÖá£

# cat /proc/sys/fs/file-max

Èç¹ûÉèÖÃֵ̫С£¬ ÐÞ¸ÄÎļþ/etc/sysctl.confµÄ±äÁ¿µ½ºÏÊʵÄÖµ¡£

2¡¢ÔÚ/etc/security/limits.confÎļþÖÐÉèÖÃ×î´ó´ò¿ªÎļþÊý£¬ ÏÂÃæÊÇÒ»ÐÐÌáʾ£º # Ìí¼ÓÈçÏÂÕâÐС£ * - nofile 2048

ÕâÐÐÉèÖÃÁËÿ¸öÓû§µÄĬÈÏ´ò¿ªÎļþÊýΪ2048¡£ ×¢Òâ\ÏîÓÐÁ½¸ö¿ÉÄܵÄÏÞÖÆ´ëÊ©¡£¾ÍÊÇÏîϵÄhardºÍsoft¡£ÒªÊ¹Ð޸ĹýµÄ×î´ó´ò¿ªÎļþÊýÉúЧ£¬±ØÐë¶ÔÕâÁ½ÖÖÏÞÖÆ½øÐÐÉ趨¡£Èç¹ûʹÓÃ\×Ö·ûÉ趨, ÔòhardºÍsoftÉ趨»áͬʱ±»É趨¡£Ó²ÏÞÖÆ±íÃ÷softÏÞÖÆÖÐËùÄÜÉ趨µÄ×î´óÖµ¡£softÏÞÖÆÖ¸µÄÊǵ±Ç°ÏµÍ³ÉúЧµÄÉèÖÃÖµ¡£hardÏÞÖÆÖµ¿ÉÒÔ±»ÆÕͨÓû§½µµÍ¡£µ«ÊDz»ÄÜÔö¼Ó¡£softÏÞÖÆ²»ÄÜÉèÖõıÈhardÏÞÖÆ¸ü¸ß¡£Ö»ÓÐrootÓû§²ÅÄܹ»Ôö¼ÓhardÏÞÖÆÖµ¡£

3¡¢Ê¹Óá°ulimit -n 2048¡±À´ÏÞÖÆÓû§µÄ×î´óÎļþ´ò¿ªÊýΪ2048¡£ulimit -n¶Ô·ÇrootÓû§ÓÐÏÞÖÆ£¬¶ÔrootÓû§ÔòûÓÐÏÞÖÆ£¬ÄÜÏíÊܵ½Õû¸öϵͳ¿ÉÒÔͬʱ´ò¿ªµÄÎļþÊýµÄºÃ´¦¡£

ÉèÖþä±úÊýÁ¿ºó£¬ÏµÍ³ÖØÆôºó£¬ÓÖ»á»Ö¸´Ä¬ÈÏÖµ¡£Èç¹ûÏëÓÀ¾Ã±£´æÏÂÀ´£¬¿ÉÒÔÐÞ¸Ä.bash_profileÎļþ£¬°ÑÉÏÃæÃüÁî¼Óµ½×îºó¡£

3.2 ƽ̨Äں˲ÎÊý

ƽ̨ÔÚ°²×°µÄ¹ý³ÌÖУ¬»áµ÷ÓÃÒ»¸öרÃŵÄshellÀ´¸ºÔðϵͳÄں˲ÎÊýµÄÉèÖá£Õâ¸öshellÊÇcheckkernel£¬ÔÚÆ½Ì¨ÉÏ/home/zxin10/binĿ¼ÏÂÄÜÕÒµ½¡£¶ÔÓÚLinux£¬ÐèÒª¹Ø×¢µÄÊÇÆäÖеÄcheck_linux_kernelº¯Êý¡£ÏÂÃæÊÇÉæ¼°µ½ÉèÖÃÄں˲ÎÊýµÄÖ÷Òª´úÂ룬³ý¿ªÉèÖÃÁËÆ½Ì¨Ïà¹ØµÄһЩÄں˲ÎÊý£¬ÁíÍâÕë¶ÔOracleÊý¾Ý¿âÒ²½øÐÐÁËÏàÓ¦µÄÉèÖ㬴ó¼Ò¿ÉÒÔÒ»Æð·ÖÎöһϡ£

##### ÏûÏ¢¶ÓÁеÄÉèÖà if ! grep -q \ then echo \$ShmMaxSizecfg > /proc/sys/kernel/shmmax\ fi

if ! grep -q \ then

echo \msgmni\ fi

if ! grep -q \ then

echo \msgmnb\ fi

if ! grep -q \ then

echo \msgmax\ fi

########## Õë¶ÔOralceµÄһЩÄں˲ÎÊýµÄÉèÖà ## 2007.01.10 add for oracle10g if [ \ then

if ! grep -q \ then

echo \32000 100 128\\\sem\

echo \65000\\\/ip_local_port_range\ echo \rmem_max\ echo \rmem_default\ echo \ >/proc/sys/net/core/wmem_max\ echo \ >/proc/sys/net/core/wmem_default\ fi fi

ÏÂÃæÊÇÍøÉÏһƪredhat linux as 4.7 ¾²Ä¬°²×° oracle 10gµÄ¹ý³ÌÖÐÉæ¼°µ½Äں˲ÎÊýÉèÖõIJ¿·Ö£¬¸úÉÏÃæÆ½Ì¨ÉèÖõÄÄÚÈÝ´óÖÂÏàͬ¡£ ¼ì²éÄں˲ÎÊý ÕýÔÚ¼ì²é semmsl=250; ÒÑ·¢ÏÖ semmsl=250¡£ ͨ¹ý ÕýÔÚ¼ì²é semmns=32000; ÒÑ·¢ÏÖ semmns=32000¡£ ͨ¹ý ÕýÔÚ¼ì²é semopm=100; ÒÑ·¢ÏÖ semopm=100¡£ ͨ¹ý ÕýÔÚ¼ì²é semmni=128; ÒÑ·¢ÏÖ semmni=128¡£ ͨ¹ý ÕýÔÚ¼ì²é shmmax=536870912; ÒÑ·¢ÏÖ shmmax=2147483648¡£ ͨ¹ý ÕýÔÚ¼ì²é shmmni=4096; ÒÑ·¢ÏÖ shmmni=4096¡£ ͨ¹ý ÕýÔÚ¼ì²é shmall=2097152; ÒÑ·¢ÏÖ shmall=2097152¡£ ͨ¹ý ÕýÔÚ¼ì²é file-max=65536; ÒÑ·¢ÏÖ file-max=65536¡£ ͨ¹ý ÕýÔÚ¼ì²é VERSION=2.6.9; ÒÑ·¢ÏÖ VERSION=2.6.9-78.EL¡£ ͨ¹ý ÕýÔÚ¼ì²é ip_local_port_range=1024 - 65000; ÒÑ·¢ÏÖ ip_local_port_range=1024 - 65000¡£ ͨ¹ý ÕýÔÚ¼ì²é rmem_default=262144; ÒÑ·¢ÏÖ rmem_default=1048576¡£ ͨ¹ý ÕýÔÚ¼ì²é rmem_max=262144; ÒÑ·¢ÏÖ rmem_max=1048576¡£ ͨ¹ý ÕýÔÚ¼ì²é wmem_default=262144; ÒÑ·¢ÏÖ wmem_default=262144¡£ ͨ¹ý ÕýÔÚ¼ì²é wmem_max=262144; ÒÑ·¢ÏÖ wmem_max=262144¡£ ͨ¹ý ¼ì²éÍê³É¡£´Ë´Î¼ì²éµÄ×ÜÌå½á¹ûΪ: ͨ¹ý ÏÂÃæ¶ÔÉÏÃæÉæ¼°µ½µÄÄں˲ÎÊý½øÐÐ˵Ã÷¡£

shmmax£º¹²ÏíÄÚ´æ¶ÎµÄ×î´ó×Ö½ÚÊý£¬½¨ÒéÉè´óµã£¬ÉõÖÁ¿ÉÒÔ´ó¹ýÎïÀíÄÚ´æµÄ×Ö½ÚÊý¡£¸Ã²ÎÊý¶¨ÒåÁ˹²ÏíÄÚ´æ¶ÎµÄ×î´ó³ß´ç£¨ÒÔ×Ö½ÚΪµ¥Î»£©¡£È±Ê¡Îª32M£¬¶ÔÓÚoracleÀ´Ëµ£¬¸Ãȱʡֵ̫µÍÁË£¬Í¨³£½«ÆäÉèÖÃΪ2G¡£

shmmin£º¹²ÏíÄÚ´æ¶ÎµÄ×îС³ß´ç¡£Õâ¸ö²ÎÊýµÄÉèÖÃÒ»°ã²»»á³öÎÊÌâ¡£

shmmni£º¹²ÏíÄÚ´æ¶ÎµÄ×î´óÊýÄ¿¡£Õâ¸öÄں˲ÎÊýÓÃÓÚÉèÖÃϵͳ·¶Î§ÄÚ¹²ÏíÄÚ´æ¶ÎµÄ×î´óÊýÁ¿¡£¸Ã²ÎÊýµÄĬÈÏÖµÊÇ4096 ¡£Í¨³£²»ÐèÒª¸ü¸Ä¡£

shmseg£ºÃ¿¸ö½ø³Ì¿É·ÖÅäµÄ×î´ó¹²ÏíÄÚ´æ¶ÎÊýÄ¿

shmall£º×î´óµÄ²¢·¢¹²ÏíÄÚ´æ¶ÎÊýÄ¿£¬±ÈSGA»¹Òª´ó¡£¸Ã²ÎÊý±íʾϵͳһ´Î¿ÉÒÔʹÓõĹ²ÏíÄÚ´æ×ÜÁ¿£¨ÒÔҳΪµ¥Î»£¬Ò»¸öÒ³´óСΪ4KB£©¡£È±Ê¡Öµ¾ÍÊÇ2097152£¬Í¨³£²»ÐèÒªÐ޸ġ£

sem£ºÊÇsemaphoresµÄËõд£¬¸Ã²ÎÊý±íʾÉèÖõÄÐźÅÁ¿¡£Ëü°üº¬ËĸöÖµ£ºsemmsl¡¢semmns¡¢semopm¡¢semmni¡£ suse11lwb:~ # sysctl -a|grep sem kernel.sem = 250 32000 100 128 semmns£ºÐźŵƵÄ×î´óÊýÁ¿£¬¸úORACLEµÄPROCESSÊýÓйء£SEMMSL * SEMMNI semopm£ºÏµÍ³µ÷ÓÃÔÊÐíµÄÐźÅÁ¿×î´ó¸öÊý¡£ÖÁÉÙ100£»»òÕßµÈÓÚSEMMSL semmni£ºÏµÍ³ÐźÅÁ¿set×î´ó¸öÊý¡£×îÉÙ128

semmsl£ºÃ¿¸öÐźŵƼ¯ºÏÖÐ×î¶àµÄÐźŵÆÊýÄ¿¡£×îС250£»¶ÔÓÚprocesses²ÎÊýÉèÖýϴóµÄϵͳ½¨ÒéÉèÖÃΪprocesses+10¡£

msgmni£ºÖ¸¶¨ÏûÏ¢¶ÓÁбêʶµÄ×î´óÊýÄ¿¡£È±Ê¡ÉèÖãº16

msgmax£º´ÓÒ»¸ö½ø³Ì·¢Ë͵½ÁíÒ»¸ö½ø³ÌµÄÏûÏ¢µÄ×î´ó³¤¶È¡£½ø³Ì¼äµÄÏûÏ¢´«µÝÊÇÔÚÄں˵ÄÄÚ´æÖнøÐУ¬²»»á½»»»µ½´ÅÅÌÉÏ£¬ËùÒÔÈç¹ûÔö¼Ó¸ÃÖµ£¬Ôò½«Ôö¼Ó²Ù×÷ϵͳËùʹÓõÄÄÚ´æÊýÁ¿¡£È±Ê¡ÉèÖãº8192

msgmnb£ºÒ»¸öÏûÏ¢¶ÓÁÐÖÐ×î´óµÄ×Ö½ÚÊý¡£È±Ê¡ÉèÖãº16384

optmem_max£ºÃ¿¸ösocketµÄ×î´ó»º´æ´óС

rmem_default£º½ÓÊÕsocketµÄȱʡ»º´æ´óС(×Ö½Ú) rmem_max£º½ÓÊÕsocketµÄ×î´ó»º´æ´óС(×Ö½Ú) wmem_default£º·¢Ë͵Äsocketȱʡ»º´æ´óС(×Ö½Ú) wmem_max£º·¢Ë͵Äsocket×î´ó»º´æ´óС(×Ö½Ú)

p_local_port_range£º±íʾÓÃÓÚÏòÍâÁ¬½ÓµÄ¶Ë¿Ú·¶Î§¡£È±Ê¡Çé¿öϺÜС£º32768µ½61000£¬¸ÄΪ10000µ½65000¡££¨×¢Ò⣺ÕâÀï²»Òª½«×îµÍÖµÉèµÄÌ«µÍ£¬·ñÔò¿ÉÄÜ»áÕ¼ÓõôÕý³£µÄ¶Ë¿Ú!

file-max£º±íʾÎļþ¾ä±úµÄ×î´óÊýÁ¿¡£Îļþ¾ä±úÉèÖñíʾÔÚlinuxϵͳÖпÉÒÔ´ò¿ªµÄÎļþÊýÁ¿¡£Èç¹ûÉèÖùýС£¬Oracle½«ÎÞ·¨Æô¶¯£¬»òÔËÐв»Õý³£¡£


LinuxÉèÖÃÄں˲ÎÊýµÄ·½·¨.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º LinuxÉèÖÃÄں˲ÎÊýµÄ·½·¨ µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ
¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÏÂÔØ±¾ÎĵµÐèÒªÖ§¸¶ 10 Ôª

Ö§¸¶·½Ê½£º

¿ªÍ¨VIP°üÔ»áÔ± ÌØ¼Û£º29Ôª/ÔÂ

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºxuecool-com QQ£º370150219