前沿拓展:
熟悉的陌生朋友:svchost.exe
有時(shí)候,你可能會(huì)打開(kāi)任務(wù)管理器,看看里面有什么進(jìn)程在跑,你會(huì)發(fā)現(xiàn),進(jìn)程列表中有很多svchost.exe。
為什么會(huì)有如此多的svchost.exe進(jìn)程呢?這個(gè)svchost.exe到底是什么呢?今天就來(lái)簡(jiǎn)單解釋解釋。
設(shè)計(jì)原理和解釋
從傳統(tǒng)的系統(tǒng)設(shè)計(jì)角度來(lái)看,每一個(gè)Windows服務(wù)都會(huì)運(yùn)行在它所在的進(jìn)程中。這樣,當(dāng)你開(kāi)發(fā)和測(cè)試你的服務(wù)的時(shí)候就十分簡(jiǎn)單方便。
但是,如果你打開(kāi)Windows的**器(命令行執(zhí)行services.msc),你會(huì)發(fā)現(xiàn),那里有很多服務(wù),其中主要是Windows的服務(wù),當(dāng)然也包含第三方應(yīng)用開(kāi)發(fā)商開(kāi)發(fā)的服務(wù)。如果每個(gè)服務(wù)都對(duì)應(yīng)一個(gè)進(jìn)程的話,則系統(tǒng)需要維護(hù)非常多的進(jìn)程。對(duì)于一個(gè)進(jìn)程來(lái)說(shuō),就算它什么實(shí)際的工作也不做,系統(tǒng)也需要為它分配各種資源來(lái)維護(hù)這個(gè)進(jìn)程。將每個(gè)服務(wù)都放到一個(gè)進(jìn)程中的設(shè)計(jì)方式實(shí)際上是一種資源的浪費(fèi),因?yàn)橛泻艽笠徊糠址?wù)僅僅是在某些時(shí)間點(diǎn)下被觸發(fā)執(zhí)行。例如Microsoft Windows電話TAPI服務(wù)(Tapisrv),它僅僅會(huì)在處理和調(diào)制解調(diào)器(modem)相關(guān)的**作時(shí)才會(huì)被觸發(fā)運(yùn)行。
考慮到性能方面的原因,我們將相關(guān)的服務(wù)編到一個(gè)組中,在這個(gè)組中,所有的服務(wù)都會(huì)運(yùn)行在一個(gè)叫做svchost的共享進(jìn)程中。
這意味著,如果你發(fā)現(xiàn)某一個(gè)svchost.exe有些不正常,你還是無(wú)法知道到底是里面的哪一個(gè)服務(wù)出了問(wèn)題。在微軟的知識(shí)庫(kù)中,有一篇專門(mén)講解svchost的文章(how you can dig into each svchost to see which services are running inside it),它講述了如何通過(guò)研究svchost進(jìn)程來(lái)查看它承載了哪些服務(wù)。這還是很有用的,因?yàn)楫?dāng)svchost進(jìn)程異常的時(shí)候,你至少可以縮寫(xiě)問(wèn)題排查的范圍。
查看svchost中的服務(wù)的幾種方法
1. 通過(guò)任務(wù)管理器查看。
2. 執(zhí)行命令行指令:tasklist /svc /fi “imagename eq svchost.exe”
3. 通過(guò)Process Explorer工具來(lái)查看。
小編綜合來(lái)說(shuō)
將多個(gè)服務(wù)跑在同一個(gè)進(jìn)程中,減少了系統(tǒng)資源消耗,提升了性能。但是,這種設(shè)計(jì)也不可避免地增加了開(kāi)發(fā)和調(diào)試服務(wù)的難度。所以,正在開(kāi)發(fā)Windows服務(wù)的你,還需要再慎重慎重。
拓展知識(shí):
前沿拓展:
熟悉的陌生朋友:svchost.exe
有時(shí)候,你可能會(huì)打開(kāi)任務(wù)管理器,看看里面有什么進(jìn)程在跑,你會(huì)發(fā)現(xiàn),進(jìn)程列表中有很多svchost.exe。
為什么會(huì)有如此多的svchost.exe進(jìn)程呢?這個(gè)svchost.exe到底是什么呢?今天就來(lái)簡(jiǎn)單解釋解釋。
設(shè)計(jì)原理和解釋
從傳統(tǒng)的系統(tǒng)設(shè)計(jì)角度來(lái)看,每一個(gè)Windows服務(wù)都會(huì)運(yùn)行在它所在的進(jìn)程中。這樣,當(dāng)你開(kāi)發(fā)和測(cè)試你的服務(wù)的時(shí)候就十分簡(jiǎn)單方便。
但是,如果你打開(kāi)Windows的**器(命令行執(zhí)行services.msc),你會(huì)發(fā)現(xiàn),那里有很多服務(wù),其中主要是Windows的服務(wù),當(dāng)然也包含第三方應(yīng)用開(kāi)發(fā)商開(kāi)發(fā)的服務(wù)。如果每個(gè)服務(wù)都對(duì)應(yīng)一個(gè)進(jìn)程的話,則系統(tǒng)需要維護(hù)非常多的進(jìn)程。對(duì)于一個(gè)進(jìn)程來(lái)說(shuō),就算它什么實(shí)際的工作也不做,系統(tǒng)也需要為它分配各種資源來(lái)維護(hù)這個(gè)進(jìn)程。將每個(gè)服務(wù)都放到一個(gè)進(jìn)程中的設(shè)計(jì)方式實(shí)際上是一種資源的浪費(fèi),因?yàn)橛泻艽笠徊糠址?wù)僅僅是在某些時(shí)間點(diǎn)下被觸發(fā)執(zhí)行。例如Microsoft Windows電話TAPI服務(wù)(Tapisrv),它僅僅會(huì)在處理和調(diào)制解調(diào)器(modem)相關(guān)的**作時(shí)才會(huì)被觸發(fā)運(yùn)行。
考慮到性能方面的原因,我們將相關(guān)的服務(wù)編到一個(gè)組中,在這個(gè)組中,所有的服務(wù)都會(huì)運(yùn)行在一個(gè)叫做svchost的共享進(jìn)程中。
這意味著,如果你發(fā)現(xiàn)某一個(gè)svchost.exe有些不正常,你還是無(wú)法知道到底是里面的哪一個(gè)服務(wù)出了問(wèn)題。在微軟的知識(shí)庫(kù)中,有一篇專門(mén)講解svchost的文章(how you can dig into each svchost to see which services are running inside it),它講述了如何通過(guò)研究svchost進(jìn)程來(lái)查看它承載了哪些服務(wù)。這還是很有用的,因?yàn)楫?dāng)svchost進(jìn)程異常的時(shí)候,你至少可以縮寫(xiě)問(wèn)題排查的范圍。
查看svchost中的服務(wù)的幾種方法
1. 通過(guò)任務(wù)管理器查看。
2. 執(zhí)行命令行指令:tasklist /svc /fi “imagename eq svchost.exe”
3. 通過(guò)Process Explorer工具來(lái)查看。
小編綜合來(lái)說(shuō)
將多個(gè)服務(wù)跑在同一個(gè)進(jìn)程中,減少了系統(tǒng)資源消耗,提升了性能。但是,這種設(shè)計(jì)也不可避免地增加了開(kāi)發(fā)和調(diào)試服務(wù)的難度。所以,正在開(kāi)發(fā)Windows服務(wù)的你,還需要再慎重慎重。
拓展知識(shí):
前沿拓展:
熟悉的陌生朋友:svchost.exe
有時(shí)候,你可能會(huì)打開(kāi)任務(wù)管理器,看看里面有什么進(jìn)程在跑,你會(huì)發(fā)現(xiàn),進(jìn)程列表中有很多svchost.exe。
為什么會(huì)有如此多的svchost.exe進(jìn)程呢?這個(gè)svchost.exe到底是什么呢?今天就來(lái)簡(jiǎn)單解釋解釋。
設(shè)計(jì)原理和解釋
從傳統(tǒng)的系統(tǒng)設(shè)計(jì)角度來(lái)看,每一個(gè)Windows服務(wù)都會(huì)運(yùn)行在它所在的進(jìn)程中。這樣,當(dāng)你開(kāi)發(fā)和測(cè)試你的服務(wù)的時(shí)候就十分簡(jiǎn)單方便。
但是,如果你打開(kāi)Windows的**器(命令行執(zhí)行services.msc),你會(huì)發(fā)現(xiàn),那里有很多服務(wù),其中主要是Windows的服務(wù),當(dāng)然也包含第三方應(yīng)用開(kāi)發(fā)商開(kāi)發(fā)的服務(wù)。如果每個(gè)服務(wù)都對(duì)應(yīng)一個(gè)進(jìn)程的話,則系統(tǒng)需要維護(hù)非常多的進(jìn)程。對(duì)于一個(gè)進(jìn)程來(lái)說(shuō),就算它什么實(shí)際的工作也不做,系統(tǒng)也需要為它分配各種資源來(lái)維護(hù)這個(gè)進(jìn)程。將每個(gè)服務(wù)都放到一個(gè)進(jìn)程中的設(shè)計(jì)方式實(shí)際上是一種資源的浪費(fèi),因?yàn)橛泻艽笠徊糠址?wù)僅僅是在某些時(shí)間點(diǎn)下被觸發(fā)執(zhí)行。例如Microsoft Windows電話TAPI服務(wù)(Tapisrv),它僅僅會(huì)在處理和調(diào)制解調(diào)器(modem)相關(guān)的**作時(shí)才會(huì)被觸發(fā)運(yùn)行。
考慮到性能方面的原因,我們將相關(guān)的服務(wù)編到一個(gè)組中,在這個(gè)組中,所有的服務(wù)都會(huì)運(yùn)行在一個(gè)叫做svchost的共享進(jìn)程中。
這意味著,如果你發(fā)現(xiàn)某一個(gè)svchost.exe有些不正常,你還是無(wú)法知道到底是里面的哪一個(gè)服務(wù)出了問(wèn)題。在微軟的知識(shí)庫(kù)中,有一篇專門(mén)講解svchost的文章(how you can dig into each svchost to see which services are running inside it),它講述了如何通過(guò)研究svchost進(jìn)程來(lái)查看它承載了哪些服務(wù)。這還是很有用的,因?yàn)楫?dāng)svchost進(jìn)程異常的時(shí)候,你至少可以縮寫(xiě)問(wèn)題排查的范圍。
查看svchost中的服務(wù)的幾種方法
1. 通過(guò)任務(wù)管理器查看。
2. 執(zhí)行命令行指令:tasklist /svc /fi “imagename eq svchost.exe”
3. 通過(guò)Process Explorer工具來(lái)查看。
小編綜合來(lái)說(shuō)
將多個(gè)服務(wù)跑在同一個(gè)進(jìn)程中,減少了系統(tǒng)資源消耗,提升了性能。但是,這種設(shè)計(jì)也不可避免地增加了開(kāi)發(fā)和調(diào)試服務(wù)的難度。所以,正在開(kāi)發(fā)Windows服務(wù)的你,還需要再慎重慎重。
拓展知識(shí):
前沿拓展:
熟悉的陌生朋友:svchost.exe
有時(shí)候,你可能會(huì)打開(kāi)任務(wù)管理器,看看里面有什么進(jìn)程在跑,你會(huì)發(fā)現(xiàn),進(jìn)程列表中有很多svchost.exe。
為什么會(huì)有如此多的svchost.exe進(jìn)程呢?這個(gè)svchost.exe到底是什么呢?今天就來(lái)簡(jiǎn)單解釋解釋。
設(shè)計(jì)原理和解釋
從傳統(tǒng)的系統(tǒng)設(shè)計(jì)角度來(lái)看,每一個(gè)Windows服務(wù)都會(huì)運(yùn)行在它所在的進(jìn)程中。這樣,當(dāng)你開(kāi)發(fā)和測(cè)試你的服務(wù)的時(shí)候就十分簡(jiǎn)單方便。
但是,如果你打開(kāi)Windows的**器(命令行執(zhí)行services.msc),你會(huì)發(fā)現(xiàn),那里有很多服務(wù),其中主要是Windows的服務(wù),當(dāng)然也包含第三方應(yīng)用開(kāi)發(fā)商開(kāi)發(fā)的服務(wù)。如果每個(gè)服務(wù)都對(duì)應(yīng)一個(gè)進(jìn)程的話,則系統(tǒng)需要維護(hù)非常多的進(jìn)程。對(duì)于一個(gè)進(jìn)程來(lái)說(shuō),就算它什么實(shí)際的工作也不做,系統(tǒng)也需要為它分配各種資源來(lái)維護(hù)這個(gè)進(jìn)程。將每個(gè)服務(wù)都放到一個(gè)進(jìn)程中的設(shè)計(jì)方式實(shí)際上是一種資源的浪費(fèi),因?yàn)橛泻艽笠徊糠址?wù)僅僅是在某些時(shí)間點(diǎn)下被觸發(fā)執(zhí)行。例如Microsoft Windows電話TAPI服務(wù)(Tapisrv),它僅僅會(huì)在處理和調(diào)制解調(diào)器(modem)相關(guān)的**作時(shí)才會(huì)被觸發(fā)運(yùn)行。
考慮到性能方面的原因,我們將相關(guān)的服務(wù)編到一個(gè)組中,在這個(gè)組中,所有的服務(wù)都會(huì)運(yùn)行在一個(gè)叫做svchost的共享進(jìn)程中。
這意味著,如果你發(fā)現(xiàn)某一個(gè)svchost.exe有些不正常,你還是無(wú)法知道到底是里面的哪一個(gè)服務(wù)出了問(wèn)題。在微軟的知識(shí)庫(kù)中,有一篇專門(mén)講解svchost的文章(how you can dig into each svchost to see which services are running inside it),它講述了如何通過(guò)研究svchost進(jìn)程來(lái)查看它承載了哪些服務(wù)。這還是很有用的,因?yàn)楫?dāng)svchost進(jìn)程異常的時(shí)候,你至少可以縮寫(xiě)問(wèn)題排查的范圍。
查看svchost中的服務(wù)的幾種方法
1. 通過(guò)任務(wù)管理器查看。
2. 執(zhí)行命令行指令:tasklist /svc /fi “imagename eq svchost.exe”
3. 通過(guò)Process Explorer工具來(lái)查看。
小編綜合來(lái)說(shuō)
將多個(gè)服務(wù)跑在同一個(gè)進(jìn)程中,減少了系統(tǒng)資源消耗,提升了性能。但是,這種設(shè)計(jì)也不可避免地增加了開(kāi)發(fā)和調(diào)試服務(wù)的難度。所以,正在開(kāi)發(fā)Windows服務(wù)的你,還需要再慎重慎重。
拓展知識(shí):
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http://m.xiesong.cn/23934.html