¶ÔÓÚLinux²Ù×÷ϵͳ¶øÑÔ£¬´ÓÆô¶¯µ½ÍêÈ«ÔËÐеĹý³Ì£¬²»½ö¹ØºõÓû§ÌåÑ飬¸üÊÇϵͳÎȶ¨ÐÔºÍÏìÓ¦ÄÜÁ¦µÄÖ±½ÓÌåÏÖ
ÔÚÕâһϵÁи´Ôӵįô¶¯Á÷³ÌÖУ¬¡°StartTimer¡±×÷Ϊһ¸ö¸ÅÄîÐԵŤ¾ß»ò·½·¨£¨×¢£ºLinux±¾ÉíûÓÐÒ»¸öÖ±½ÓÃûΪ¡°StartTimer¡±µÄ¹Ù·½¹¤¾ß£¬µ«ÎÒÃÇ¿ÉÒÔ½«ÆäÀí½âΪһÖÖÆô¶¯Ê±¼ä¹ÜÀíºÍÓÅ»¯µÄÀíÄ£¬ÔÚÓÅ»¯ÏµÍ³Æô¶¯Ê±¼äÉϰçÑÝמÙ×ãÇáÖØµÄ½ÇÉ«
±¾ÎĽ«ÉîÈë̽ÌÖLinux StartTimerµÄºËÐÄÀíÄʵʩ²ßÂÔÒÔ¼°Æä¶ÔÌáÉýϵͳÐÔÄܵÄÖØÒªÒâÒ壬ּÔÚ°ïÖú¶ÁÕßÉîÈëÀí½â²¢Êµ¼ùÕâÒ»ÓÅ»¯¹ý³Ì
Ò»¡¢LinuxÆô¶¯Á÷³Ì¸ÅÀÀ ÔÚÉîÈë̽ÌÖStartTimer֮ǰ£¬ÎÒÃÇÏÈÀ´Á˽âÒ»ÏÂLinuxϵͳµÄÆô¶¯Á÷³Ì
LinuxµÄÆô¶¯¹ý³Ì´óÖ¿ÉÒÔ·ÖΪÒÔϼ¸¸ö½×¶Î£ºBIOS×Լ죨POST£©¡¢Òýµ¼¼ÓÔØ³ÌÐò£¨ÈçGRUB£©¡¢Äں˳õʼ»¯¡¢ÏµÍ³³õʼ»¯£¨init»òsystemd£©¡¢Óû§¿Õ¼ä·þÎñÆô¶¯ÒÔ¼°×îÖÕµÄÓû§µÇ¼½çÃæ
ÿ¸ö½×¶Î¶¼Éæ¼°µ½´óÁ¿µÄÓ²¼þºÍÈí¼þ½»»¥£¬ÈκÎÒ»²½µÄÑÓ³Ù¶¼¿ÉÄÜÓ°Ïìµ½ÕûÌåÆô¶¯Ê±¼ä
¶þ¡¢StartTimer£ºÊ±¼ä¹ÜÀíµÄÒÕÊõ ËäÈ»LinuxûÓÐÒ»¸öÖ±½ÓÃüÃûΪ¡°StartTimer¡±µÄ¹¤¾ß£¬µ«ÎÒÃÇ¿ÉÒÔ½«ÕâÒ»¸ÅÄîÀí½âΪһÖÖϵͳ»¯µÄ·½·¨£¬Ö¼ÔÚͨ¹ý¾«È·²âÁ¿ºÍ·ÖÎöϵͳÆô¶¯¹ý³ÌÖеÄÿ¸ö²½ÖèËùÐèʱ¼ä£¬½ø¶øÊ¶±ðÆ¿¾±²¢½øÐÐÓÅ»¯
Õâ²»½ö½öÊÇÒ»¸ö¹¤¾ßµÄʹÓ㬸üÊÇÒ»ÖÖ˼ά·½Ê½µÄת±ä£¬Ç¿µ÷¶Ôʱ¼äµÄÃô¸ÐÐԺͶÔЧÂʵļ«ÖÂ×·Çó
1.ʱ¼ä²âÁ¿Óë·ÖÎö -Bootchart£ºÕâÊÇÒ»¸öÓÃÓÚ¿ÉÊÓ»¯LinuxÆô¶¯¹ý³ÌµÄ¹¤¾ß£¬Í¨¹ýÉú³Éͼ±íչʾϵͳÆô¶¯¹ý³ÌÖÐCPU¡¢ÄÚ´æÊ¹ÓÃÇé¿öºÍ¸÷¸ö·þÎñÆô¶¯Ë³Ðò£¬°ïÖúÓû§Ö±¹ÛµØÕÒµ½Æô¶¯¹ý³ÌÖÐµÄÆ¿¾±
-systemd-analyze£º¶ÔÓÚʹÓÃsystemd×÷Ϊ³õʼ»¯ÏµÍ³µÄLinux·¢Ðа棬`systemd-analyze`ÃüÁîÌṩÁËÇ¿´óµÄÆô¶¯Ê±¼ä·ÖÎö¹¤¾ß£¬Äܹ»ÏÔʾÆô¶¯ºÄʱ×µÄ·þÎñ£¬ÒÔ¼°Õû¸öÆô¶¯Á÷³ÌµÄʱ¼ä·Ö²¼
2.ʶ±ðÓëÓÅ»¯Æ¿¾± -²¢ÐÐÆô¶¯·þÎñ£ºÍ¨¹ýÅäÖÃsystemd£¬¿ÉÒÔʵÏÖ·þÎñµÄ²¢ÐÐÆô¶¯£¬¶ø²»ÊÇ´«Í³µÄ´®ÐÐÆô¶¯·½Ê½£¬Õâ¿ÉÒÔÏÔÖø¼õÉÙÆô¶¯Ê±¼ä
-ÑӳٷDZØÒª·þÎñ£º¶ÔÓÚÄÇЩÔÚϵͳÆô¶¯ºó²¢²»Á¢¼´ÐèÒªµÄ·þÎñ£¬¿ÉÒÔͨ¹ýÉèÖÃÆäÆô¶¯ÓÅÏȼ¶ÎªµÍ»ò½«ÆäÅäÖÃΪ°´ÐèÆô¶¯£¨socket activation£©£¬´Ó¶ø±ÜÃâÔÚÆô¶¯½×¶Î¼ÓÔØÕâЩ·þÎñ
-ÓÅ»¯Ó²¼þÇý¶¯£ºÈ·±£Ê¹ÓÃ×îÐÂÇÒ¾¹ýÓÅ»¯µÄÓ²¼þÇý¶¯³ÌÐò£¬ÓÐʱÇý¶¯³ÌÐòµÄ¸üÐÂÄܹ»ÏÔÖøÌáÉýÆô¶¯ËÙ¶È
3.³ÖÐø¼à¿ØÓëµ÷Õû -½¨Á¢»ùÏߣºÍ¨¹ý¶à´Î²âÁ¿ÏµÍ³Æô¶¯Ê±¼ä²¢½¨Á¢»ùÏߣ¬¿ÉÒÔ×·×ÙÓÅ»¯´ëÊ©µÄЧ¹û£¬È·±£Ã¿Ò»´Î¸Ä¶¯¶¼ÊÇÓÐÒæµÄ
-¶¯Ì¬µ÷Õû£ºËæ×ÅϵͳʹÓÃʱ¼äµÄÔö³¤£¬Óû§µÄϰ¹ßºÍÐèÇó¿ÉÄܻᷢÉú±ä»¯£¬Òò´Ë¶¨ÆÚÖØÐÂÉóÊÓÆô¶¯Á÷³Ì£¬¸ù¾Ýʵ¼ÊÇé¿ö½øÐе÷Õû£¬ÊDZ£³Öϵͳ¸ßЧÔËÐеĹؼü
Èý¡¢StartTimerµÄʵ¼ù°¸Àý ΪÁ˸üºÃµØÀí½âStartTimerµÄÓ¦Óã¬ÈÃÎÒÃÇͨ¹ýÒ»¸öʵ¼Ê°¸ÀýÀ´ËµÃ÷
¼ÙÉèÎÒÃÇÓÐÒ»¸ö»ùÓÚUbuntuµÄϵͳ£¬Ê¹ÓÃsystemd×÷Ϊ³õʼ»¯ÏµÍ³£¬Æô¶¯Ê±¼äÆ«³¤£¬Ï£Íû½øÐÐÓÅ»¯
1.ʹÓÃsystemd-analyze½øÐгõ²½·ÖÎö ÔËÐÐ`systemd-analyzeblame`ÃüÁÁгöËùÓзþÎñÆô¶¯Ê±¼ä£¬·¢ÏÖ`network-manager.service`ºÍ`thunderbird.service`Õ¼¾ÝÁË´óÁ¿Ê±¼ä
2.ÓÅ»¯ÍøÂç¹ÜÀí ¿¼Âǵ½ÍøÂç¹ÜÀí·þÎñµÄÆô¶¯Ê±¼ä¿ÉÄÜÊܵ½ÍøÂç״̬µÄÓ°Ï죬ÎÒÃÇ¿ÉÒÔ³¢ÊÔµ÷ÕûÆäÆô¶¯Ë³Ðò£¬»òÅäÖÃΪÔÚÐèҪʱ²ÅÆô¶¯
ÀýÈ磬ͨ¹ýÐÞ¸Ä`/etc/systemd/system/network-manager.service.d/override.conf`Îļþ£¬ÉèÖÃ`After=`ºÍ`Wants=`×Ö¶ÎÀ´ÓÅ»¯ÒÀÀµ¹ØÏµ
3.ÑÓ³ÙÓʼþ¿Í»§¶ËÆô¶¯ ¶ÔÓÚÓʼþ¿Í»§¶ËÈçThunderbird£¬Ëüͨ³£²»ÐèÒªÔÚϵͳÆô¶¯Ê±Á¢¼´ÔËÐÐ
ͨ¹ýÐÞ¸ÄThunderbird·þÎñµÄÆô¶¯ÀàÐÍ£¬½«Æä´Ó`enabled`¸ÄΪ`disabled`£¬²¢ÔÚÓû§µÇ¼ºóͨ¹ý×ÀÃæ»·¾³»ò½Å±¾ÊÖ¶¯Æô¶¯£¬¿ÉÒÔÓÐЧ¼õÉÙÆô¶¯Ê±¼ä
4.²¢ÐÐÆô¶¯·þÎñ ¼ì²é`systemd-analyze critical-chain`Êä³ö£¬Ê¶±ð³ö¿ÉÒÔ²¢ÐÐÆô¶¯µÄ·þÎñÁ´£¬Í¨¹ýµ÷Õû·þÎñÒÀÀµ¹ØÏµ£¬ÀûÓÃ`Before=`¡¢`After=`ºÍ`Wants=`µÈÖ¸ÁÓÅ»¯·þÎñÆô¶¯Ë³Ðò
5.³ÖÐø¼à¿Ø ʵʩÉÏÊöÓÅ»¯ºó£¬ÔÙ´ÎʹÓÃ`systemd-analyze`ºÍBootchart½øÐÐÑéÖ¤£¬È·±£ÓÅ»¯´ëÊ©ÓÐЧ£¬²¢¸ù¾Ýʵ¼ÊÇé¿ö½øÐÐ΢µ÷
ËÄ¡¢StartTimerµÄÉîÔ¶Ó°Ïì ͨ¹ýʵʩStartTimerÀíÄîϵÄÓÅ»¯²ßÂÔ£¬²»½ö¿ÉÒÔÏÔÖøÌáÉýLinuxϵͳµÄÆô¶¯ËÙ¶È£¬»¹ÄÜ´øÀ´Ò»ÏµÁлý¼«Ó°Ï죺 - ÌáÉýÓû§ÌåÑ飺¸ü¿ìµÄÆô¶¯Ê±¼äÒâζ×ÅÓû§¿ÉÒÔ¸ü¿ìµØ¿ªÊ¼¹¤×÷£¬¼õÉٵȴýʱ¼ä£¬Ìá¸ß¹¤×÷ЧÂÊ
- ÔöǿϵͳÎȶ¨ÐÔ£ºÓÅ»¯Æô¶¯Á÷³ÌÓÐÖúÓÚ¼õÉÙϵͳ×ÊÔ´¾ºÕù£¬½µµÍϵͳ±ÀÀ£»ò¹ÒÆðµÄ·çÏÕ
- ½ÚÄܼõÅÅ£º¸ü¿ìµÄÆô¶¯Òâζןü¶ÌµÄ¿ª»úʱ¼ä£¬´Ó¶øÔÚÒ»¶¨³Ì¶ÈÉϼõÉÙÄÜÔ´ÏûºÄ
- ´Ù½ø¼¼Êõ´´Ð£º¶ÔÆô¶¯Ê±¼äµÄ³ÖÐø¹Ø×¢ºÍÓÅ»¯£¬Íƶ¯ÁËLinuxÉçÇøÔÚ³õʼ»¯ÏµÍ³¡¢·þÎñ¹ÜÀíµÈ·½ÃæµÄ¼¼Êõ´´ÐÂ
×ÜÖ®£¬ËäÈ»LinuxûÓÐÒ»¸öÖ±½ÓÃûΪ¡°StartTimer¡±µÄ¹¤¾ß£¬µ«½«Ê±¼ä¹ÜÀíµÄÀíÄîÈÚÈëϵͳÆô¶¯ÓÅ»¯ÖУ¬Í¨¹ý¾«È·²âÁ¿¡¢·ÖÎöÆ¿¾±¡¢ÊµÊ©ÓÅ»¯²¢³ÖÐø¼à¿Ø£¬¿ÉÒÔÏÔÖøÌáÉýLinuxϵͳµÄÐÔÄܺÍÓû§ÌåÑé
Õâ²»½öÊǼ¼Êõ²ãÃæµÄÌôÕ½£¬¸üÊǶÔϵͳ¹ÜÀíÔ±ºÍÓû§Ê±¼ä¹ÛÄîµÄÒ»´ÎÉî¿Ì±ä¸ï
ÔÚÕâ¸ö¿ìËٱ仯µÄʱ´ú£¬ÈÃÎÒÃÇЯÊÖ