Linux ÄÚºËÈíÖжÏ(softirq)Ö´ÐзÖÎö
Linux ÄÚºËÈíÖжÏ(softirq)Ö´ÐзÖÎö
Author: sinister
Email: sinister@whitecell.org
Homepage:http://www.whitecell.org
Date: 2007-01-11
±¾ÎÄ¶Ô Linux ÄÚºËÈíÖжϵÄÖ´ÐÐÁ÷³Ì½øÐÐÁË·ÖÎö£¬²¢¾¡¿ÉÄܵĽáºÏµ±Ç°ÔË
Ðл·¾³ÏêϸµØÐ´³öÎÒµÄÀí½â£¬µ«Õâ²¢²»±íÃ÷ÎÒµÄÀí½âÒ»¶¨ÕýÈ·¡£Õâ±¾ÊÇÂÛ̳
ÀïµÄһƪÌû×Ó£¬·¢³öÀ´ÊÇΪÁËÅ×שÒýÓñ£¬Èç¹ûÄúÔÚÔĶÁ±¾ÎÄʱ·¢ÏÖÁËÎҵĴí
Î󣬻¹ÍûµÃµ½ÄúµÄÖ¸Õý¡£
½ñÌìÎÞÒâÖп´ÁËÑÛ 2.6 Äں˵ÄÈíÖжÏʵÏÖ£¬·¢ÏÖºÍÒÔǰÎÒ¿´µ½µÄ´ó²»Ïàͬ
£¨ÒÔǰҲÊÇ×ßÂí¹Û»¨£¬²»´ó×Ðϸ£©£¬¿ÉÒÔ˵¸Ä¶¯ºÜ´ó¡£Á¬ softirq µÄµ÷ÓÃ
µã¶¼²»Ò»ÑùÁË£¬ÒÔǰÊÇÈý¸öµ÷Óõ㣬½ñÌìËÑË÷ÁËÒ»ÏÂÔ´´úÂ룬·¢ÏÖÔÚ¶à³öÁË
ksoftirqd ºó£¬softirq ÔÚϵͳÖеĵ÷Óõã½öÊÇÔÚ ISR ·µ»ØÊ±ºÍʹÓÃÁË
local_bh_enable() º¯Êýºó±»µ÷ÓÃÁË¡£Íø¿¨²¿·ÖµÄÏÔʾµ÷Óã¬ÎÒ¾õµÃÓ¦¸Ã²»
ËãÊÇϵͳÖеĵ÷Óõ㡣ksoftirqd ·µ»ØÈ¥µ÷Óà do_softirq() º¯ÊýÓ¦¸ÃÒ²Ö»
ÄÜËãÊÇÆäÖеÄÒ»¸ö·ÖÖ§£¬ÒòΪÆä±¾Éí´ÓÔ´Í·ÉÏÀ´½²Ò²»¹ÊÇÔÚ ISR ·µ»ØÊ±
irq_exit() µ÷Óõġ£ÕâÑùÒ»À´¾ÍºÍǰЩÈÕ×ÓдµÄÄǷݱʼǣ¨Windows/Linux
/Solaris ÈíÖжϻúÖÆ£©Àï½éÉÜµÄ Linux Äں˲¿·ÖµÄÈíÖжÏÓгö´¦ÁË£¬¿´À´
ÒÔºóÌÖÂÛ Linux kernel ´úÂëÒ»¶¨ÒªÒÔÄں˰汾ΪǰÌ⣬Ҫ²»·ÇÂÒÁ˲»¿É¡£
µÃÂò±¾ Linux ·½ÃæµÄÊéÁË£¬Ã¿´ÎÉÏÀ´Ö±½Ó¿´Ïà¹Ø´úÂëÒ²²»ÊÇ»ØÊ£¬Ê±¼äÒ²
²»ÔÊÐí¡£
//
// do_IRQ º¯ÊýÖ´ÐÐÍêÓ²¼þ ISR ºóÍ˳öʱµ÷Óô˺¯Êý¡£
//
void irq_exit(void)
{
account_system_vtime(current);
trace_hardirq_exit();
sub_preempt_count(IRQ_EXIT_OFFSET);
//
// Åжϵ±Ç°ÊÇ·ñÓÐÓ²¼þÖжÏǶÌ×£¬²¢ÇÒÊÇ·ñÓÐÈíÖжÏÔÚ
// pending ״̬£¬×¢Ò⣺ÕâÀïÖ»ÓÐÁ½¸öÌõ¼þͬʱÂú×ã
// ʱ£¬²ÅÓпÉÄܵ÷Óà do_softirq() ½øÈëÈíÖжϡ£Ò²¾ÍÊÇ
// ˵ȷÈϵ±Ç°ËùÓÐÓ²¼þÖжϴ¦ÀíÍê³É£¬ÇÒÓÐÓ²¼þÖжϰ²×°ÁË
// ÈíÖжϴ¦ÀíʱÀíʱ²Å»á½øÈë¡£
//
if (!in_interrupt() && local_softirq_pend
Ïà¹ØÎĵµ£º
¹¹½¨»ù±¾µÄLinux C ±à³Ì»·¾³ ÊÕ²Ø
±¾ÎÄ»ùÓÚdebian-40r0(ÄÚºË2.6.18)½éÉÜÒ»ÏÂÈçºÎÔÚÒ»¸ö±ê׼ϵͳÖй¹½¨Linux CµÄ»ù±¾±à³Ì¿ª·¢»·¾³¡£
Ò»¸öÍêÕûµÄ¿ª·¢»·¾³Ö÷Òª°üÀ¨Ëĸö²¿·Ö£º±ê×¼C¿â¡¢Í·Îļþ¡¢¹¤¾ßÁ´¡¢±à¼Æ÷¡¢°ïÖúÎĵµ£¬ÏÂÃæÒÀ´Î½éÉÜ¡£
±ê×¼C¿âglibc
glibcÊÇgnu·¢²¼µÄlibc¿â£¬¼´cÔËÐп⡣glibcÊÇlinuxϵͳÖÐÄÚºËÖ ......
1.²é¿´ÏµÍ³ÄÚºË
#uname -a
2.²é¿´cpuÐÅÏ¢
#cat /proc/cpuinfo
3.²é¿´ÄÚ´æÊ¹ÓÃÇé¿ö
#free -m
4.²é¿´Ó²ÅÌÊ£Óà¿Õ¼ä
#df -h
5.²é¿´Ä¿Â¼Õ¼Óÿռä
#du -hs Ŀ¼Ãû
6.²é¿´µ±Ç°ÓÐÄÄЩ½ø³Ì
#ps -A
7.²é¿´µ±Ç°½ø³ÌµÄʵʱÇé¿ö
#top
8.²é¿´½ø³Ì´ò¿ªµÄÎļþ
#lsof -p
9.²é¿´Ä³¸öÎļþ±»ÄÄЩӦÓóÌÐò¶Áд
......
ÓÖÅöµ½ÓʼþÎÊÌ⣬ÔÚmagentoǰ̨ע²áÐÂÓû§£¬Ï¶©µ¥¶¼Ã»ÓÐÊÕµ½Óʼþ¡£µ«ÊÇÌáʾ¶¼ÊÇ˵Õý³£¡£
Ö±½ÓÔÚsshÖÐʹÓÃÏÂÁÐÃüÁî²âÊÔ£¬Á¬½Ó³¬Ê±£º
echo "Subject: test" | /usr/lib/sendmail -v xinhaozheng@gmail.com
Ìáʾ£º
WARNING: local host name (server) is not qualified; see cf/README: WHO AM I?
xinhaozheng ......
ssh connect to Linux
1,¼ì²éÍøÂçÁ¬½ÓÊÇ·ñÕý³£,¿´¿´ÄãµÄ»úÆ÷ÊÇ·ñ¿ªÁË22ºÅ¶Ë¿Ú,½ø³ÌÊÇ·ñÔËÐÐÕý³£..
2,¿ÉÒÔÔÚ±¾»úÉÏÓÃSSHÃüÁîµÇ½±¾»ú.
#ssh -l yourloginname xxx.xxx.xxx.xxx
ÆäÖÐyourloginnameΪÄã±¾»ú¿ÉÔ¶³ÌµÇ¼Óû§Ãû,xxx.xxx.xxx.xxxΪÄãµÄ»úÆ÷IP,
Èç¹ûµÇ¼Ìáʾ:
Are you sure you want to continue connecting ( ......
°²×°²½Ö裺
Ø °²×°tomcatǰÏÈÒª±£Ö¤°²×°ÁËJDK£¬¿ÉÒÔÓÃÃüÁî²é¿´ÊÇ·ñ°²×°ÁËJDK£º
[root@wxr webapps]# java -version
java version "1.6.0_19"
Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
Java HotSpot(TM) Client VM (build 16.2-b04, mixed mode, sharing)
Ø ÏÂÔØTom ......