當您在運行 Windows 7/Server 2008(R2)/Vista 的計算機中使用 IE 9,或者在運行 Windows 7/Server 2008(R2)/Vista、Windows xp/Server 2003(R2) 的計算機中使用 IE 8 時,如果您為 IE 瀏覽器同時打開了多個選項卡,您可能會在 Windows 任務管理器的“進程”列表中看到多個不同的 IEXPLORE.EXE 進程同時運行。在 IE 的早期版本(IE 7、IE 6)中沒有此現象。
您希望了解有關如何控制、合并、減少這些 IEXPLORE.EXE 進程,使 Windows 在運行同時打開多個選項卡的 IE 9 或 IE 8 時使用盡量少的或唯一的 IEXPLORE.EXE 進程,那么您可以參考本文提供的信息。
問題分析
IE 瀏覽器在同時打開多個選項卡后,Windows 會同時運行多個不同的 IEXPLORE.EXE 進程,這個現象并非是不正常的故障,而是 IE 瀏覽器在 IE 8 及后續的版本中引入的“松散耦合進程框架(Loosely Coupled IE)”進程管理技術。此技術允許 IE 瀏覽器將主窗口與選項卡用不同的、分離的 IEXPLORE.EXE 進程隔開。如果一個選項卡遇到了問題需要關閉,可以避免連帶影響整個 IE 瀏覽器主窗口及其它選項卡。這樣有助于提升 IE 瀏覽器的穩定性與安全性。
在默認的系統設置中,IE 8 或 IE 9 在啟動后將至少有兩個 IEXPLORE.EXE 進程運行,一個對應 IE 瀏覽器的主窗口、一個對應主窗口中的選項卡(一個 IE 主窗口必須至少有一個選項卡)。隨著 IE 瀏覽器啟動更多選項卡,Windows 將會運行更多若干個分離的 IEXPLORE.EXE 進程,分別對應增加的不同選項卡。IEXPLORE.EXE 進程增加的最大數量將由您計算機的可用內存與空閑的系統資源決定。
問題解決
如果您希望改變 IE 瀏覽器的始終使用分離的 IEXPLORE.EXE 進程的默認設置、希望在運行同時打開多個選項卡的 IE 瀏覽器時使用盡量少的或唯一的 IEXPLORE.EXE 進程,您可以通過自行設置注冊表項 TabPRocGrowth 的方法實現。
警告:注冊表編輯器使用不當可導致嚴重問題,可能需要重新安裝操作系統。Microsoft 不能保證您可以解決因為注冊表編輯器使用不當而導致的問題。使用注冊表編輯器需要您自擔風險。
修改注冊表之前,一定要先進行備份,并且您一定要知道在發生問題時如何還原注冊表。 有關如何備份、還原、編輯注冊表的信息,請單擊下面的文章編號,以便查看 Microsoft 知識庫中相應的文章:256986 (http://support.microsoft.com/kb/256986 Microsoft Windows 注冊表說明)
請通過“開始”菜單中的“運行”,或通過命令提示符執行“REGEDIT”,啟動注冊表編輯器,然后展開注冊表項至:
HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain
右鍵單擊此注冊表項,在彈出的右鍵菜單中選擇“新建”。您在此既可以選擇新注冊表項類型為 32 位 DWord,也可以選擇類型為字符串值,然后將新注冊表項命名為 TabProcGrowth。
注冊表項 TabProcGrowth 負責定義 IE 瀏覽器啟動 IEXPLORE.EXE 進程的方式,隨著此注冊表項的值不同,IE 瀏覽器將采用不同的策略運行 IEXPLORE.EXE 進程。如果 TabProcGrowth 不存在,或者即使存在但沒有設置任何值,那么 IE 瀏覽器將繼續采用分離 IEXPLORE.EXE 進程、直至達到可用內存與空閑系統資源的上限為止的默認設置。
如果您新建 TabProcGrowth 時將類型設置為 DWORD 值,那么您可以按照如下的定義自行設置 TabProcGrowth 的值:
如果 TabProcGrowth 的值被設置為 0,IE 瀏覽器將不再為主窗口與選項卡分離 IEXPLORE.EXE 進程,每一個 IE 主窗口以及其中的所有選項卡都將合并共用一個 IEXPLORE.EXE 進程。
例如,假設您啟動了兩個 IE 主窗口,一個主窗口擁有四個選項卡、一個主窗口擁有兩個選項卡,Windows 將只啟動兩個 IEXPLORE.EXE 進程對應這兩個 IE 主窗口,而不是啟動八個 IEXPLORE.EXE 進程對應兩個主窗口及六個選項卡。注意,IE 主窗口的進程不能合并,兩個 IE 主窗口無法合并為一個 IEXPLORE.EXE 進程。
而且,在 TabProcGrowth 的值被設置為 0 后,Windows 7/Server 2008(R2)/Vista 將無法以保護模式運行 IE 瀏覽器,因為 IE 保護模式只能在 IEXPLORE.EXE 進程分離模式中生效。
如果 TabProcGrowth 的值被設置為 1,IE 瀏覽器將為每個主窗口使用一個分離的 IEXPLORE.EXE 進程,為每個主窗口中的所有選項卡使用一個分離的 IEXPLORE.EXE 進程,但不會為每個單獨的選項卡分離 IEXPLORE.EXE 進程。
例如,假設您啟動了兩個 IE 主窗口,一個主窗口擁有四個選項卡、一個主窗口擁有兩個選項卡,Windows 將啟動四個 IEXPLORE.EXE 進程。其中兩個 IEXPLORE.EXE 進程對應兩個 IE 主窗口,另兩個 IEXPLORE.EXE 進程分別對應第一主窗口中的四個選項卡與第二主窗口中的兩個選項卡。
在 TabProcGrowth 的值被設置為 1 后,Windows 7/Server 2008(R2)/Vista 可以以保護模式運行 IE 瀏覽器。
如果 TabProcGrowth 的值被設置為任意大于 1 的整數數字(例如 5),IE 瀏覽器將像默認設置一樣為所有的主窗口與選項卡分離 IEXPLORE.EXE 進程,但 IEXPLORE.EXE 進程的總數將不會超過 TabProcGrowth 指定的整數數字。在 IEXPLORE.EXE 進程的數量達到上限后,如果您繼續新建選項卡,那么所有的選項卡將按照平均分配的原則共用已經啟用的 IEXPLORE.EXE 進程。
在 TabProcGrowth 的值被設置為任意大于 1 的整數數字后,Windows 7/Server 2008(R2)/Vista 可以以保護模式運行 IE 瀏覽器。
如果您新建 TabProcGrowth 時將類型設置為字符串值,那么您還可以按照如下的定義自行設置 TabProcGrowth 的值:
如果 TabProcGrowth 的值被設置為 small(字符串值),Windows 同時運行的 IEXPLORE.EXE 進程數量將被限制為 5 個。而且,必須至少打開 15 個選項卡才會出現第三個 IEXPLORE.EXE 進程。
如果 TabProcGrowth 的值被設置為 medium(字符串值),Windows 同時運行的 IEXPLORE.EXE 進程數量將被限制為 9 個。而且,必須至少打開 17 個選項卡才會出現第五個 IEXPLORE.EXE 進程。
如果 TabProcGrowth 的值被設置為 large(字符串值),Windows 同時運行的 IEXPLORE.EXE 進程數量將被限制為 16 個。而且,必須至少打開 21 個選項卡才出現第九個 IEXPLORE.EXE 進程。
因此,如果您的計算機可用內存與空閑系統資源緊缺,建議將字符串值類型的 TabProcGrowth 注冊表項的值設置為 small 或 medium。
新聞熱點
疑難解答