LinuxÍøÂçÇý¶¯³ÌÐò±àд(ËÄ)
¡¡Èý.±àдLinuxÍøÂçÇý¶¯³ÌÐòÖÐÐèҪעÒâµÄÎÊÌâ
¡¡¡¡3.1 ÖжϹ²Ïí
¡¡¡¡LinuxϵͳÔËÐм¸¸öÉ豸¹²Ïíͬһ¸öÖжϡ£ÐèÒª¹²ÏíµÄ»°£¬ÔÚÉêÇëµÄʱºòÖ¸Ã÷¹²Ïí·½Ê½¡£ÏµÍ³ÌṩµÄrequest_irq()µ÷ÓõĶ¨Ò壺
¡¡¡¡¡¡¡¡int request_irq(unsigned int irq,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡void (*handler)(int irq, void *dev_id, struct pt_regs *regs),
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡unsigned long irqflags,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡const char * devname,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡void *dev_id);
¡¡¡¡Èç¹û¹²ÏíÖжϣ¬irqflagsÉèÖÃSA_SHIRQÊôÐÔ£¬ÕâÑù¾ÍÔÊÐí±ðµÄÉ豸ÉêÇëͬһ¸öÖжϡ£ÐèҪעÒâËùÓÐÓõ½Õâ¸öÖжϵÄÉ豸ÔÚµ÷ÓÃrequest_irq()¶¼±ØÐëÉèÖÃÕâ¸öÊôÐÔ¡£ÏµÍ³Ôڻص÷ÿ¸öÖжϴ¦Àí³ÌÐòʱ£¬¿ÉÒÔÓÃdev_idÕâ¸ö²ÎÊýÕÒµ½ÏàÓ¦µÄÉ豸¡£ÏµÍ³Ôڻص÷ÿ¸öÖжϴ¦Àí³ÌÐòʱ£¬¿ÉÒÔÓÃdev_idÕâ¸ö²ÎÊýÕÒµ½ÏàÓ¦µÄÉ豸¡£Ò»°ãdev_id¾ÍÉèΪdevice½á¹¹±¾Éí¡£ÏµÍ³´¦Àí¹²ÏíÖжÏÊÇÓø÷×ÔµÄdev_id²ÎÊýÒÀ´Îµ÷ÓÃÿһ¸öÖжϴ¦Àí³ÌÐò¡£
¡¡¡¡3.2 Ó²¼þ·¢ËÍæʱµÄ´¦Àí
¡¡¡¡Ö÷CPUµÄ´¦ÀíÄÜÁ¦Ò»°ã±ÈÍøÂç·¢ËÍÒª¿ì£¬ËùÒÔ¾³£»áÓöµ½ÏµÍ³ÓÐÊý¾ÝÒª·¢£¬µ«ÉÏÒ»°üÊý¾ÝÍøÂçÉ豸»¹Ã»·¢ËÍÍê¡£ÒòΪÔÚLinuxÀïÍøÂçÉ豸Çý¶¯³ÌÐòÒ»°ã²»×öÊý¾Ý»º´æ£¬²»ÄÜ·¢Ë͵ÄÊý¾Ý¶¼ÊÇ֪ͨϵͳ·¢ËͲ»³É¹¦£¬ËùÒÔ±ØÐëÒªÓÐÒ»¸ö»úÖÆÔÚÓ²¼þ²»Ã¦Ê±¼°Ê±Í¨ÖªÏµÍ³½Ó×Å·¢ËÍÏÂÃæµÄÊý¾Ý¡£
¡¡¡¡Ò»°ã¶Ô·¢ËÍæµÄ´¦ÀíÔÚÇ°ÃæÉ豸µÄ·¢ËÍ·½·¨(hard_start_xmit)ÀïÒѾÃèÊö¹ý£¬¼´Èç¹û·¢ËÍ棬ÖÃtbusyΪ1¡£´¦ÀíÍê·¢ËÍÊý¾Ýºó£¬ÔÚ·¢ËͽáÊøÖжÏÀïÇåtbusy£¬Í¬Ê±ÓÃmark_bh()µ÷ÓÃ֪ͨϵͳ¼ÌÐø·¢ËÍ¡£
¡¡¡¡µ«ÔÚ¾ßÌåʵÏÖÎÒµÄÇý¶¯³ÌÐòʱ·¢ÏÖ£¬ÕâÑùµÄ´¦ÀíϵͳºÃÏó²¢²»Äܼ°Ê±µØÖªµÀÓ²¼þÒѾ¿ÕÏÐÁË£¬¼´ÔÚmark_bh()ÒÔºó£¬ÏµÍ³ÒªµÈÒ»¶Îʱ¼ä²Å»á½Ó×Å·¢ËÍ¡£Ôì³É·¢ËÍЧÂʺܵ͡£2MÏß·ֻÓÐ10%²»µ½µÄʹÓÃÂÊ¡£Äں˰汾Ϊ2.0.35¡£
¡¡¡¡ÎÒ×îºóµÄʵÏÖÊDz»°ÑtbusyÖÃ1£¬ÈÃϵͳʼÖÕÈÏΪӲ¼þ¿ÕÏУ¬µ«ÊDZ¨¸æ·¢ËͲ»³É¹¦¡£ÏµÍ³»áÒ»Ö±³¢ÊÔÖØ·¢¡£ÕâÑù´¦Àí¾ÍÔËÐÐÕý³£ÁË¡£µ«ÊDZéÑÄÚºËÔ´ÂëÖеÄÍøÂçÇý¶¯³ÌÐò£¬ËƺõûÓÐÕâÑù´¦ÀíµÄ¡£²»ÖªµÀÖ¢½áÔÚÄÄÀï¡£
¡¡¡¡3.3 Á÷Á¿¿ØÖÆ(flow control)
¡¡¡¡ÍøÂçÊý¾ÝµÄ·¢ËͺͽÓÊÕ¶¼ÐèÒªÁ÷Á¿¿ØÖÆ¡£ÕâЩ¿ØÖÆÊÇÔÚϵͳÀïʵÏֵģ¬²»ÐèÒªÇý¶¯³ÌÐò×ö¹¤×÷¡£Ã¿¸öÉ豸Êý¾Ý½á¹¹ÀﶼÓÐÒ»¸ö²ÎÊýdev->tx_queue_len£¬Õâ¸ö²ÎÊý±êÃ÷·¢ËÍʱ×î¶à»º´æµÄÊý¾Ý°ü¡£ÔÚLinuxϵͳÀïÒÔÌ«ÍøÉ豸(10/100Mbps)±êÃ÷·¢ËÍʱ×î¶à»º´æµÄÊý¾Ý°ü¡£ÔÚLinuxϵͳÀïÒÔÌ«ÍøÉ豸(10/100Mbps)tx_queue_lenÒ»°ãÉèÖÃΪ100£¬´®ÐÐÏßÂ
Ïà¹ØÎĵµ£º
ÔÚÌÖÂÛÕâ¸öÎÊÌâ֮ǰ£¬ÎÒÃÇÏÈÀ´¿´¿´Linux×ÀÃæÓöµ½ÁËʲôÀ§ÄÑ¡£
Ä¿Ç°£¬LinuxÔÚ×ÀÃæÉϵÄÊг¡Õ¼ÓÐÂʾÝÓйط½Ãæ¹À¼ÆÔÚ1%×óÓÒ£¬Õâ¸ö±ÈÀýÉõÖÁ»¹²»ÈçAppleµÄMac OS X£¬È˼ҵÄÊг¡Õ¼ÓÐÂÊÒ²ÓÐ4%ÒÔÉÏ¡£¸ü±ðÌáMS Windows°Ù·ÖÖ®¾ÅÊ®ÒÔÉϵÄÊг¡Õ¼ÓÐÂÊ£¬¿ÉÒÔ˵Linux×ÀÃæËƺõ¿ÉÒÔ ......
½üÈÕ£¬ÔÚLinuxCON 2009´ó»áÉÏ£¬×ÀÃæ Linux ÓÖ³ÉΪҵ½ç¹Ø×¢µÄ½¹µãÖ®Ò»¡£¸÷ÖÖ²»Í¬µÄÉùÒô£¬É¤ÃŶ¼ºÜ´ó¡£ÔÚÕâ·×·×ÈÂȵķÕΧÖУ¬ Linux ÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿
×ݹÛÈ«¾Ö£¬ÆÕ¼°×ÀÃæ Linux µÄ×î´óÕÏ°Ö®Ò»ÊÇϵͳ°²×°µÄ²Ù×÷À§ÄÑÐÔ¡£Ô¤×° Windows Òѳɴó ......
ÈçºÎÓÃÓï¾äɱËÀËùÓÐoracle´ø(LOCAL=NO)µÄ½ø³Ì£¿
·½·¨Ò»£º(½øÈëoracleÓû§ÏÂ)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |awk '{print $2}'`
»òÕß (È¥³ýµ±Ç°grep½ø³Ì)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |grep -v grep|awk '{print $2}'`
$ echo $a
$ kill -9 $a
·½·¨¶þ£º£¨Ö±½Óɱ£©
$ p ......
-----------------------------------------------------------
#!/bin/bash
#
# Startup script for the tomcat
#
# chkconfig: 345 95 15
# description: tomcat service script
#
# Source function library.
. /etc/rc.d/init.d/functions
TOMCAT_HOME=/home/tomcat
RETVAL=0
checkjava(){
if [ -z "$JAVA ......
Linux Îļþϵͳ¸ÅÊö
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÕªÒª£º ±¾ÎÄͨ¹ýÎļþϵͳµÄ¶¨Òå˵Æð£¬È»ºóͨ¹ýÒýÎļòµ¥µÄ½éÉÜÁËÒ»ÏÂÎļþϵͳÀàÐÍ£»¶ÔLinux³£ÓõÄext2¡¢ext3¼°reiserfs ¸ù¾Ý±¾ÈËʹÓþÑéÒ²·º·ºµÄ̸ÁË̸£¬µ«²¢²»ÊÇרҵµÄ¡£ÈçºÎÔĶÁ±¾ÎÄ£¬»¹ÊÇÓÃÂí¿Ë˼ÀíÂÛ¸æËßÎÒÃǵķ½·¨£ºÒ»·ÖΪ¶þ£¬±ß¿´±ßÅú°É£»
Ŀ¼Ë÷Òý
Ò» ......