Ⅰ Windows XP的加速設置
硬體優化
1、內存性能優化
Windows XP中有幾個選項可以優化內存性能,它們全都在注冊表下面位置:HKEY_LOCAL_ ManagerMemory Management
1)禁用內存頁面調度(Paging Executive)
在正常情況下,XP會把內存中的片斷寫入硬碟,我們可以阻止它這樣做,讓數據保留在內存中,從而提升系統性能。要注意的是,擁有很多內存的用戶(256M以上)才好使用這個設置。這個設置的名字正如它的功能一樣,叫「DisablePagingExecutive」。把它的值從0改為1就可以禁止內存頁面調度了。
2)提升系統緩存:把LargeSystemCache鍵值從0改為1,Windows XP就會把除了4M之外的系統內存全部分配到文件系統緩存中,這意味著XP的內核能夠在內存中運行,大大提高系統速度。剩下的4M內存是用來做磁碟緩存的,在一定條件下需要的時候,XP還會分配更多一些。一般來說,這項優化會使系統性能得到相當的提升,但也有可能會使某些應用程序性能降低。正如前面所說的,必須有256M以上的內存,才好激活LargeSystemCache,否則不要動它。
3)輸入/輸出性能:這個優化只對server用戶才有實在意義??它能夠提升系統進行大容量文件傳輸時的性能。在默認情況下,這個鍵值在注冊表中是不存在的,必須自己建一個DWORD(雙位元組值)鍵值,命名為IOPageLockLimit。多數人在使用這項優化時都發現8到16M位元組之間性能最好,具體設什麼值,可以設進ナ允鑰茨母鮒悼梢曰竦米羆研閱堋<親≌飧鮒凳怯米紙誒醇撲愕模?虼耍?┤縋鬩?峙?2M的話,就是12 * 1024 * 1024,也就是12582912。跟前面的內存優化一樣,只有當你的內存大於256M的時候才好更改這里的值。
2、打開DMA:到裝置管理員里選擇IDE ATA/ATAPI controllers ,到Primary/Secondary IDE Channel裡面的進階設定 ,將所有的轉送模式都設定為使用DMA(如果可用的話) ,系統就會自動打開DMA支援(在BIOS里也應該要先設為支援DMA)
3、XP里關閉光碟機自啟動(Autorun)功能:打開:我的電腦,在「移動存儲設備」下,右鍵單擊CD-ROM 驅動器,然後單擊「屬性」,看到「自動播放」選項卡了么?自己去改吧。
4、設置CPU:Windows XP無法自動檢測處理器的二級緩存容量,需要我們自己在注冊表中手動設置,首先打開注冊表(運行中輸入「Regedit」),打開:
HKEY_LOCAL_ ManagerMemory Management,選擇「SecondLevelDataCache」,根據自己所用的處理器設置即可,例如PIII Coppermine/P4 Willamette是「256」,Athlon XP是「384」,P4 Northwood是「512」
5、XP安裝驅動程式時,往往會出現一個窗口,說這個程序沒有經過微軟的驗證,我們可以在控制面板??系統??硬體??設備管理員??驅動程序簽名,看到了選項了么,知道該怎麼做了吧。
6、為IRQ中斷請求排優先次序
計算機的每一個主要部件都設了個IRQ中斷號。這里就是要通過修改每個IRQ請求的優先次序達到優化目的。這里主要的優化對象是系統/CMOS實時鍾,它通過主板來提升性能。首先,要確定你想要哪個組件獲得更高的性能,然後找到這個硬體正在使用的IRQ中斷號。怎麼找呢?打開控制面板里的系統屬性(也可以按鍵盤上的Windows+Break熱鍵組合打開它)。選中「硬體」選項卡,然後點擊「設備管理器」按鈕。右鍵點擊要查IRQ號的組件,選擇「屬性」,然後點擊「資源」選項卡。這里可以看到設備正在使用的IRQ中斷號(如果沒有IRQ中斷號,選擇另一個設備)。把中斷號記下來,然後運行注冊表編輯器regedit,找到注冊表中的HKEY_LOCAL_ 位置。我們要在這里建立一個名為IRQ#Priority(其中「#」是具體的IRQ中斷號)的DWORD雙位元組值,然後把它的值設為1。譬如說,我的系統CMOS實時鍾的IRQ中斷號是8,我要建立的鍵名就是IRQ8Priority。重新啟動計算機之後,就會發現剛優化過的組件性能有所提高。筆者強烈建議用這個方法優化系統CMOS實時鍾,因為它能改善整塊主板的性能。當然也可以把多個IRQ中斷號優先順序提高,但這樣做的效果沒那麼好,而且有可能造成系統不穩定。要把這個優化設置撤消的話,只要把剛才建立的注冊表鍵值刪掉就OK了
網路優化:
1、加速共享:這是一項很棒的優化,在找到這項優化之前,我經常在漫長地等待窗口顯示其它機子上的共享目錄中敲破頭皮。通常情況下,當Windows XP連接到其它計算機時,會檢查對方機子上所有預定的任務??這真是多餘,而且還會讓你等上30秒鍾,實在太糟糕了。所幸的是,很容易就可以把這個過程給禁掉。首先,在注冊表中找到HKEY_LOCAL_/Current 。在這裡面,應該有個
{D6277990-4C6A-11CF-87-00AA0060F5BF}鍵。只需把它刪掉,重新啟動計算機後,Windows就不再檢查預定任務了,速度明顯提高!
2、解決WinXP執行時候停頓一下的問題
開始??網路連接??本地連接,按右鍵,選擇屬性,選擇「Internet協議(TCP/IP)」,點擊屬性,使用下面的IP地址:192.168.0.1,子網掩碼:255.255.255.0,這樣就好了,以後開機就不會停頓了
3、如何讓XP自動連網:
IE?? 工具??internet選項??連接,勾選 `網路不存在時撥號` ,把 IE 拉到 `啟動`
每次開機完成後, 你已經上線了 ! 還有一種方法:
進入連線內容,把「提示名稱、密碼、憑證等」的勾勾取消掉,然後把該連線拉到「啟動」(藍調註:估計原作者是港台的,用語不同。因為我上網用寬頻,所以這里簡體中文是什麼用語不清楚。修改成功的朋友回個帖子,便於我修改。)
4、在默認情況下,XP Pro 會保留一塊網卡的20%的.帶寬。 修改的方法是,以管理員許可權登陸 ,開始菜單??運行??鍵入 gpedit.msc ,出現「組策略」窗口, 展開 `管理模板」中的「網路」 , 展開 `QoS 數據包調度程序`, 在右邊窗右鍵單擊「限制可保留帶寬` ,在屬性中的「設置」中有「限制可保留帶寬` ,選擇「已啟用」,然後在下方`帶寬限制`欄目里選擇一個數值就可以了.不能選擇`禁用`,因為那樣做的話,系統會認為你認可了保留20%的帶寬。具體修改可以參照「屬性」旁邊的「說明」欄目。當進行完上述修改並應用後,用戶應該在網路連接的屬性對話框內的一般屬性標簽欄中能夠看到`QoS Packet Scheler(QoS 數據包調度程序)`。Home版不支持該操作,無法去除該限制!
5、xp內置了防火牆,默認設置是未打開。設置方法詳見後面的「全面設置防火牆」。
XP系統所在分區減肥方法。
1. 刪除系統文件備份 sfc.exe /purgecache (一般用戶是不怎麼用的)
2 刪除驅動備份 windowsdriver cachei386目錄下的Driver.cab文件 (73mb)
3. 取消系統還原 (總體來說系統還原功能還是不錯的,建議除了xp安裝的那個盤使用,其它盤都別用,如果哪一天硬碟的空間不夠了,可以通過系統清理程序刪除一些比較早的還原點)
4、刪除幫助文件(減掉40多mb) (使用中文漢化包的文件大小為92兆,剛開始使用xp的同志最好別刪)
5、刪掉WINDOWSsystem32dllcache下文件(減去200??300mb)。(這是備用的dll文件,只要你拷貝了安裝文件,完全可以這樣做。既然這樣刪你沒話說)
6、把我的文檔、IE的臨時文件夾都轉到其他盤(分區)。 (同時對系統的速度,和硬碟都有好處,如果使用的是雙系統,最好把兩個系統的IE臨時文件都放在同一個文件夾,這樣既加快速度有節省空間)
7、把虛擬內存也轉到其他盤。(就是將這些東西和平時臨時下載文件放在一個不大的分區里,這樣也方便整理硬碟)
8、將應用軟體裝在其他盤(這對重裝系統也有好處,可以省很多事)。
9、刪除windowsime下不用的輸入法! (日文,韓文,繁體中文輸入法,84.5MB) (到底哪個是哪個自己研究一下吧!有時候也要自己動動腦子的,鍛煉一下吧!)
10、如用ntfs裝xp,本身就節省地盤。
五、其他
1、激活顯示:
開機後,打開開始菜單中的運行欄,打入:oobe/msoobe /a
如果出現「Windows 產品啟用」,表明Windows 已經啟用
2、製做dos啟動盤:
右鍵點擊「3.5軟盤」,選格式化,再選「建立一個MS-DOS開機磁碟」
3、解決任務欄假死(權威的消除QQ、IE等引起任務欄假死)
控制面板`-??`區域和語言選項`-??`語言`-??`詳細信息`,在彈出的`設置窗口`中選擇`首選項`的`語言欄`,關閉「在桌面上顯示語言欄」,在第三項`在通知區域顯示其他語言欄圖標`復選框上打上勾。如果不需要手寫識別、語音識別的話,也可以再勾選最後一項`關閉高級文字服務`。
4、某些軟體的兼容性(適用於家用版`HomeEdition`及專業版`Professional`)
對於QQ假死,以及其它某些程序在XP下不能正常運行的現象,可以找到該程序的執行文件,點右鍵,在彈出的對話框中選擇`兼容性`標簽,在`兼容模式`下選擇相應需要的運行環境。
5、雙操作系統,怎麼卸載xp
先用啟動盤啟動,然後鍵入「a:sys c: 」,再從硬碟重新啟動,然後刪去 boot.ini, bootsect.dos, ntdetect.com, ntldr ,然後把xp的windows, program files, Documents and Settings等目錄直接刪去,或格式化 winxp 的硬碟(如果你的xp和win98不在一個分區上的話)
Ⅱ 如何提高WINDOWSXP的運行速度
大家通常都是通過優化大師,魔法兔子類的優化軟體來進行系統的優化,不知道大家發
覺沒有,有時候裝了優化軟體後經常會出現一些莫名其妙的問題,在這里我列舉一些常
用注冊表優化系統的方法,也是最原始的方法。
1、加快窗口顯示速度:我們可以通過修改注冊表來改變窗口從任務欄彈出,以及最
小化回歸任務欄的動作,步驟如下:打開注冊表編輯器,找到HKEY_CURRENT_USER\
Control Panel\Desktop\WindowMetrics子鍵分支,在右邊的窗口中找到MinAniMate鍵值
,其類型為REG_SZ,默認情況下此健值的值為1,表示打開窗口顯示的動畫,把它改為0
,則禁止動畫的顯示,接下來從開始菜單中選擇「注銷」命令,激活剛才所作的修改即
可
。
2、去掉「更新」選項:對於大多數的用戶來說,Windows XP的Windows Update功能
似乎作用不大,我們可以去掉它,操作步驟如下:打開注冊表編輯器,找到
HKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Policies\
Explorer子鍵分支,選擇「編輯」菜單下的「新建」命令,新建一個類型為REG_DWORD的
值,名稱為NoCommonGroups,雙擊新建的NoCommonGroups子鍵,在「編輯字元串」文本
框中輸入鍵值「1」,然後單擊「確定」按鈕並重新啟動系統即可。
3、修改Windows XP的登錄背景圖案:面對長久不變的單調的登錄圖案,你可能日久
生厭,我們可以通過注冊表來把它換成自己喜歡的圖案,步驟如下:打開注冊表編輯器
,找到HKEY_USERS\.DEFAULT\Control Panel\Desktop子鍵分支,雙擊wallpaper,鍵入
你選擇好的圖片的路徑,如:c:\Documents and Settings\My Documents\My
Pictures\mypic.bmp,點擊「確定」,然後找到Tilewallpaper,雙擊它輸入鍵值「1」
,重新啟動系統即可看到效果。
4、修改登錄時的背景色:如果你還想修改登錄時的背景顏色,可以按以下步驟操作
:打開注冊表編輯器,找到HKEY_USERS\.DEFAULT\Control Panel\Colors子鍵分支,雙
擊子鍵分支下的Background鍵值名,出現「編輯字元串」對話框,在「數值數據」文本
框中輸入代表顏色的鍵值(比如黑色的RGB值為000,白色的RGB值為255 255 255,系統
默認值是58 110 165),點擊「確定」按鈕,重新啟動系統即可。
5、設置啟動信息或增加警告信息:如果在啟動Windows XP時,希望顯示一些自己定
義的個性化信息,可以按以下步驟來操作:打開注冊表編輯器,找到HKEY_LOCAL_MACHIN
E_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon子鍵分支,雙擊在它下面
的LegalNoticeCaption健值名稱,打開「編輯字元串」窗口,在「數值數據」文本框中
輸入信息對話框的標題,比如「你好,歡迎使用本機器」,然後雙擊LegalNoticeText,
在隨後出現的「編輯字元串」窗口中輸入想要顯示的警告信息,比如「請不要隨意修改
本級的設置,謝謝!」,單擊「確定」按鈕,重新啟動即可看到修改後的效果了。
6、每次啟動時保持桌面設置不變:我們可以通過修改注冊表來保護我們的桌面設置
,無論做了什麼樣的修改,只要重新啟動之後桌面就會恢復原樣。步驟如下:打開注冊
表編輯器,找到HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Po
lices\Explorer子鍵分支,在它的下面找到NoSaveSettings,其類型為REG_SZ,將其鍵
值改為「0」,或者直接刪除該鍵值項,重新啟動系統使設置生效。
7、任意定製按鈕顏色:盡管Windows XP本身帶有多種窗口顯示方案,但用戶想定義
某一個部位的顏色,比如把按鈕的顏色由黑色改為藍色或紅色,這時就需要修改注冊表
了,步驟如下:打開注冊表編輯器,找到HKEY_CURRENT_USER\Control Panel\Colors子
鍵分支,雙擊在它下面的Bottontext,在打開的對話框中將其鍵值改為你想要顏色的值
,比如紅色255 0 0,單擊「確定」按鈕,並重新啟動系統即可看到效果了,此時按鈕上
的文字顏色將變成紅色,此外你還可以修改按鈕的寬度和高度及背景等參數。
8、禁止Dr.Watson的運行:Dr.Watson是自帶的系統維護工具,它會在程序載入失敗
或崩潰時顯示,我們可以通過注冊表來取消它,步驟如下:打開注冊表編輯器,找到HKE
Y_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug子鍵分支
,雙擊在它下面的Auto鍵值名稱,將其「數值數據」改為0,最後按F5刷新使設置生效。
9、修改滑鼠右鍵菜單
我們知道在98下可以通過注冊表來修改滑鼠右鍵菜單,其實在WinXP中也可以。方法如下
:這里以在滑鼠右鍵菜單上添加「用DOS窗口在這里瀏覽」為例。
1)打開注冊表編輯器,找到HKEY_CLASSES_ROOT\Directory\shell,然後選中它,點擊鼠
標右鍵,新建一個主鍵,取名為「DOS」,然後選中新建的主鍵,在右邊雙擊默認字元串
值,在彈出的對話框中輸入「用DOS窗口在這里瀏覽」,然後選中新建的主鍵,再建立一
個主鍵,取名為「command」,選中「command」主鍵,修改默認值為「cmd.exe /k
"cd %L"」即可。
2)檢查:在任意一個文件夾上按下滑鼠右鍵,可以在彈出的菜單裡面看到「用DOS窗口在
這里瀏覽」,選擇用DOS窗口在這里瀏覽,按下滑鼠左鍵,看到沒有,DOS窗口彈了出來
!
2.修改系統ID號(ID號在WinXP裡面很重要)
在系統屬性裡面的常規標簽下我們可以看到一串數字,如:55661-005-0809362-22169等
等。這就是ID號。正版的WinXP每一套的ID號是不相同的(應該可以猜到我的目的了吧?
),那麼我們可不可以修改呢?當然可以(廢話!如果不可以就沒有必要寫這篇文章了
)。跟我來,看看我的本領!
1)ID號是存放在注冊表裡面的。主要放在這幾個鍵值下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration的字元串P
roctId
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\User information的字元串產品標識 /*如果
沒有使用向微軟注冊的話,這里不會出現*/
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion的字元串ProctId
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion的字元串Proc
tId
以上4個地方就是在注冊表中存放ID的鍵值,修改的時候要同時修改,修改完以後再看系
統屬性裡面的常規標簽,以免修改失敗,導致ID還原。
10.修改版本號:
在關於Windows裡面有一個內部版本號(正式版的是:2600.xpclient.010817-1148),這
個版本號也是存放在注冊表中的,具體位置是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows NT\CurrentVersion,
他用一個字元串來記錄,修改這個名字叫做BuildLab的字元串就可以修改你的XP的版本
號。
一、系統優化設置。
1、刪除Windows強加的附件:
a . 用記事本NOTEPAD修改\winnt\inf\sysoc.inf,用查找/替換功能,在查找框中輸入,
hide(一個英文逗號緊跟hide),將「替換為」框設為空。並選全部替換,這樣,就把
所有的,hide都去掉了,
b. 存檔退出,
c. 再運行「添加-刪除程序」,就會看見「添加/刪除 Windows 組件」中多出了好幾個選
項;這樣你可以刪除好些沒有用的附件
2.關掉調試器Dr. Watson;
運行drwtsn32,把除了「轉儲全部線程上下文」之外的全都去掉。否則一旦有程序出錯
,硬碟會響很久,而且會佔用很多空間。如果你以前遇到過這種情況,請查找user.dmp
文件並刪掉,可能會省掉幾十M的空間。這是出錯程序的現場,對我們沒用。另外藍屏時
出現的memory.dmp也可刪掉。可在我的電腦/屬性中關掉BSOD時的DUMP
3.關閉「系統還原」:滑鼠右健單擊桌面上的「我的電腦」,選擇「屬性」,找到「系
統還原」,如果你不是老噼里啪啦安裝一些軟體(難道你比我還厲害??),你也可以
去掉,這樣可以節省好多空間
4.關閉「休眠支持」:因為休眠功能占的硬碟空間蠻大的, 所以關閉比較好,
控制台-->電源選項-->休眠(不要打勾)
註:我覺得休眠還是很有用的。藍調。
5、在「開始-運行」中輸入regedit,
打開「HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control」,將右邊窗口的SystemSt
artOptions鍵值 改為NODETECT
6.加快Win XP瀏覽速度!
打開注冊表點擊到:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current
Version/Explorer/RemoteComputer/NameSpace。分欄出選擇鍵值:{D6277990-4C6A-11C
F-8D87-00AA0060F5BF}
二、硬體優化
1、內存性能優化
Windows XP中有幾個選項可以優化內存性能,它們全都在注冊表下面位置: HKEY_LO
CAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management
1)禁用內存頁面調度(Paging Executive)
在正常情況下,XP會把內存中的片斷寫入硬碟,我們可以阻止它這樣做,讓數據保
留在內存中,從而提升系統性能。要注意的是,擁有很多內存的用戶(256M以上)才好
使用這個設置。這個設置的名字正如它的功能一樣,叫「DisablePagingExecutive」。
把它的值從0改為1就可以禁止內存頁面調度了。
2) 提升系統緩存:把LargeSystemCache鍵值從0改為1,Windows XP就會把除了4M之
外的系統內存全部分配到文件系統緩存中,這意味著XP的內核能夠在內存中運行,大大
提高系統速度。剩下的4M內存是用來做磁碟緩存的,在一定條件下需要的時候,XP還會
分配更多一些。一般來說,這項優化會使系統性能得到相當的提升,但也有可能會使某
些應用程序性能降低。正如前面所說的,必須有256M以上的內存,才好激活LargeSystem
Cache,否則不要動它。
3)輸入/輸出性能:這個優化只對server用戶才有實在意義——它能夠提升系統進行
大容量文件傳輸時的性能。在默認情況下,這個鍵值在注冊表中是不存在的,必須自己
建一個DWORD(雙位元組值)鍵值,命名為IOPageLockLimit。多數人在使用這項優化時都
發現8到16M位元組之間性能最好,具體設什麼值,可以設進去試試看哪個值可以獲得最佳
性能。記住這個值是用位元組來計算的,因此,譬如你要分配12M的話,就是12 * 1024
* 1024,也就是12582912。跟前面的內存優化一樣,只有當你的內存大於256M的時候才
好更改這里的值。
2、WinXP的ADSL撥接功能
方法:控制台-->網路連線-->建立一個新連線-->連線到網際網路
-->手動設定我的連線-->使用需要使用者名稱和密碼的寬頻連線來連線
-->ISP名稱(隨便填你想要的,如Hinet...)-->使用者名稱.密碼就填撥接帳號與密碼
-->下面3選項看需要可選可不選(其實XP內建的防火牆功能不錯)-->完成
P.S 如要開機就自動撥接上網的話,把連線ICON抓到啟動中,應該就可以羅
XP的網路芳鄰(先假設網路都沒問題)
控制台-->使用者帳戶-->建立新的帳戶
-->輸入那台電腦的開機帳號(電腦名稱)及密碼
-->選擇"受限制的帳戶"-->完成
這樣別人就可以登陸你的電腦里羅
3、XP里怎麽開DMA
關於DMA:
到裝置管理員里選擇IDE ATA/ATAPI controllers
到Primary/Secondary IDE Channel裡面的進階設定
將所有的轉送模式都設定為使用DMA(如果可用的話)
系統就會自動打開DMA支援(在BIOS里也應該要先設為支援DMA)
4、XP里關閉光碟Autorun功能
打開光碟機的內容,將自動撥放里所有的光碟格式都設為不要有任何動作。
OR
利用Group Policy (執行gpedit.msc) :
到電腦設定-->系統管理範本-->系統
找到-->關閉自動撥放
按右鍵選-->內容,選擇已-->啟用,
在下面那裡選-->所有的磁碟機,
然後套用,重新開機,應該也可以,但是這個方法不能關閉音樂CD的自動撥放
5、設置處理器二級緩存容量
Windows XP無法自動檢測處理器的二級緩存容量,需要我們自己在注冊表中手動設
置,首先打開注冊表(運行中輸入「Regedit」),再打開:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management\
選擇「SecondLevelDataCache」,根據自己所用的處理器設置即可,例如PIII
Coppermine/P4 Willamette是「256」,Athlon XP是「384」,P4 Northwood是「512」
6、XP安裝驅動程式往往因為數位簽署關系掛不上去, 把數位簽署忽略掉===>
控制台----->系統------>硬體----->裝置管理員----->驅動程式簽署---->略過
使用Winxp的網友請務必檢查一下
開始-->>執行-->>regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
將 "RegDone" = 的數值,由 "0" 改成 "1"
如此才算完全"破解" ,這個動作很重要
很多奇怪的小毛病因此而解決
7、為IRQ中斷請求排優先次序
計算機的每一個主要部件都設了個IRQ中斷號。這里就是要通過修改每個IRQ請求的
優先次序達到優化目的。這里主要的優化對象是系統/CMOS實時鍾,它通過主板來提升性
能。首先,要確定你想要哪個組件獲得更高的性能,然後找到這個硬體正在使用的IRQ中
斷號。怎麼找呢?打開控制面板里的系統屬性(也可以按鍵盤上的Windows+Break熱鍵組
合打開它)。選中「硬體」選項卡,然後點擊「設備管理器」按鈕。
右鍵點擊要查IRQ號的組件,選擇「屬性」,然後點擊「資源」選項卡。
這里可以看到設備正在使用的IRQ中斷號(如果沒有IRQ中斷號,選擇另一個設備)。把
中斷號記下來,然後運行注冊表編輯器regedit,找到注冊表中的HKEY_LOCAL_MACHINE\S
ystem\CurrentControlSet\Control\
PriorityControl 位置。我們要在這里建立一個名為IRQ#Priority(其中「#」是具體的
IRQ中斷號)的DWORD雙位元組值,然後把它的值設為1。譬如說,我的系統CMOS實時鍾的IR
Q中斷號是8,我要建立的鍵名就是IRQ8Priority。重新啟動計算機之後,就會發現剛優
化過的組件性能有所提高。筆者強烈建議用這個方法優化系統CMOS實時鍾,因為它能改
善整塊主板的性能。當然也可以把多個IRQ中斷號優先順序提高,但這樣做的效果沒那麼好
,而且有可能造成系統不穩定。要把這個優化設置撤消的話,只要把剛才建立的注冊表
鍵值刪掉就OK了。
Ⅲ 如何加速XP系統
如何提高電腦開機啟動速度的實用方法
1.取消開機獲取IP地址
很多家庭採用ADSL方式上網的電腦在啟動之後,右下角會出現一個帶感嘆號的本地連接標志,用滑鼠指向它時,會顯示「受限制或無連接」之類的話。這種情況的出現,是由於本地連接無法自動獲得IP地址,而每次啟動時,系統都要自動進行獲得IP地址的嘗試,導致在WINDOWS桌面已經出現後的一段時間里,對我們的操作沒有響應,甚至雙擊「我的電腦」也沒有反應,嚴重影響電腦啟動速度。
解決辦法是這樣:右擊「網上鄰居」——屬性,右擊「本地連接」——屬性,雙擊「TCP-IP協議」項,選中「使用下面的IP地址」,然後在「IP地址」中輸入192.168.0.1,子關掩碼設為255.255.255.0,確定就OK了。這樣下次在開機時,我們就不必眼睜睜的看著WINDOWS界面啥也幹不了,基本上開機後電腦就可以工作了,極大的提高啟動速度。
2.取消開機時無用的硬體搜索
多數電腦都只有一塊硬碟,而電腦在開機時卻每次都要搜索是否存在第二塊硬碟,浪費了啟動時的時間。如果你的電腦和多數電腦一樣,只有一塊硬碟,那麼可以將開機時搜索第二硬碟的步驟取消;方法是右擊我的電腦——屬性——硬體——設備管理器——IDEATA/ATAPI控制器——主要IDE通道——高級設置,將「當前傳輸模式」為「不適用」的設備類型設為「無」;然後用同樣的方法,對「次要IDE通道」進行設置。
另外,如果你的電腦不用優盤,也不用MP3等需要USB口的設備,也可以用類似的方法將開機時系統對USB口的搜索取消,進一步提高啟動速度。
3.去掉不需要的自動運行項
在開始——運行中輸入msconfig,回車,調出「系統配置實用程序」——啟動,可以看開機時系統自動運行哪些東西,將你不需要的項前面的對號去掉,然後確定重啟;一般說來,可以將除了ctfmon和殺毒軟體之外,其它的項前面的對號都去掉;ctfmon項和任務欄中的輸入法圖標有關,去掉就不顯示這個圖標了。
4.進一步提高速度
右擊「我的電腦」——屬性——高級——啟動和故障恢復項中的「設置」,將所有的對號去掉,確定即可,這樣可大大提高速度。
右擊「我的電腦」——屬性——系統還原,選中「在所有驅動器上關閉系統還原」,確定。這一點非常重要,系統還原功能可以說是非常的雞肋,佔用大量的系統資源。
右擊「我的電腦」——屬性——高級——性能項中的「設置」,如果你想追求極品速度,請選中「調整為最佳性能」,這可能要犧牲一些視覺效果。
5.利用專業軟體,讓電腦運行如飛
建議下載一個「超級兔子」軟體,推薦下載地址:http://www.pctutu.com
這個軟體功能強大,使用方便,在對付像「雅虎助手」,「劃詞搜索」這樣的流氓軟體時,得心應手,還可以對垃圾文件和注冊表進行清理,保護你的IE不被惡意網站修改,並且可以對系統進行進一步的優化。
windows優化大師也不錯,不過使用上稍有難度,適合對電腦比較熟悉的人士使用。
以上幾點,通過實踐證實,可大幅度提高電腦速度。
附:其他方法
1.加快系統啟動速度
WindowsXP的啟動速度比Windows2000要快30%左右,但相對於Windows98仍然要慢了不少,不過,我們可以通過優化設置,來大大提高WindowsXP的啟動速度。加快系統啟動速度主要有以下方法:盡量減少系統在啟動時載入的程序與服務;對磁碟及CPU等硬體進行優化設置;修改默認設置,減少啟動等待時間等。這些方法大部分既可減少系統啟動的時間,又可以節省系統資源,加快電腦運行速度。
(1)Msconfig
WindowsXP的啟動速度在系統安裝初期還比較快,但隨著安裝的軟體不斷增多,系統的啟動速度會越來越慢,這是由於許多軟體把自己加在了啟動程序中,這樣開機即需運行,大大降低了啟動速度,而且也佔用了大量的系統資源。對於這樣一些程序,我們可以通過系統配置實用程序Msconfig將它們從啟動組中排除出去。
選擇「開始」菜單中的「運行」命令,在「運行」對話框中鍵入「Msconfig」,回車後會彈出「系統配置實用程序」對話框,選擇其中的「啟動」選項卡,該選項卡中列出了系統啟動時載入的項目及來源,仔細查看每個項目是否需要自動載入,否則清除項前面的復選框,載入的項目越少,啟動的速度就越快。設置完成後需要重新啟動方能生效。
(2)Bootvis
Bootvis是微軟提供的一個啟動優化工具,可提高WindowsXP的啟動速度。
用BootVis提升WindowsXP的啟動速度必須按照正確的順序進行操作,否則將不會起到提速的效果。其正確的操作方法如下:
啟動Bootvis,從其主窗口(如圖2)中選擇「工具」菜單下的「選項」命令,在「符號路徑」處鍵入Bootvis的安裝路徑,如「C:\ProgramFiles\Bootvis」,單擊「保存」退出。
從「跟蹤」菜單中選擇「下次引導」命令,會彈出「重復跟蹤」對話框,單擊「確定」按鈕,BootVis將引導WindowsXP重新啟動,默認的重新啟動時間是10秒。
系統重新啟動後,BootVis自動開始運行並記錄啟動進程,生成啟動進程的相關BIN文件,並把這個記錄文件自動命名為TRACE_BOOT_1_1。程序記錄完啟動進程文件後,會重新啟動BootVis主界面,在「文件」菜單中選擇剛剛生成的啟動進程文件「TRACE_BOOT_1_1」。
窗口中即會出現「CPU>使用」、「磁碟I/O」、「磁碟使用」、「驅動程序延遲」等幾項具體圖例供我們分析,不過最好還是讓BootVis程序來自動進行分析:從「跟蹤」菜單中選擇「系統優化」命令,程序會再次重新啟動計算機,並分析啟動進程文件,從而使計算機啟動得更快。
(3)禁用多餘的服務
WindowsXP在啟動時會有眾多程序或服務被調入到系統的內存中,它們往往用來控制Windows系統的硬體設備、內存、文件管理或者其他重要的系統功能。但這些服務有很多對我們用途不大甚至根本沒有用,它們的存在會佔用內存和系統資源,所以應該將它們禁用,這樣最多可以節省70MB的內存空間,系統速度自然也會有很大的提高。
選擇「開始」菜單中的「運行」命令,在「運行」對話框鍵入「services.msc」後回車,即可打開「服務」窗口。窗口的服務列表中列出了系統提供的所有服務的名稱、狀態及啟動類型。要修改某個服務,可從列表雙擊它,會彈出它的屬性對話框(如圖3),你可從「常規」選項卡對服務進行修改,通過單擊「啟動」、「停止」、「暫停」、「恢復」四個按鈕來修改服務的狀態,並可從「啟動類型」下拉列表中修改啟動類型,啟動類型有「自動」、「手動」、「已禁用」三種。如果要禁止某個服務在啟動自動載入,可將其啟動類型改為「已禁用」。
WindowsXP提供的所有服務有36個默認是自動啟動的,實際上,其中只有8個是必須保留的(見下表),其他的則可根據自己的需要進行設置,每種服務的作用在軟體中有提示。
(4)修改注冊表來減少預讀取,減少進度條等待時間
WindowsXP在啟動過程中會出現一個進度條,我們可以通過修改注冊表,讓進度條只跑一圈就進入登錄畫面。
選擇「開始」菜單中的「運行」命令,在「運行」對話框鍵入「regedit」命令後回車,即可啟動注冊表編輯器,在注冊表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,選擇其下的EnablePrefetcher鍵,把它的鍵值改為「1」即可。
(5)減少開機磁碟掃描等待時間
當Windows日誌中記錄有非正常關機、死機引起的重新啟動,系統就會自動在啟動的時候運行磁碟掃描程序。在默認情況下,掃描每個分區前會等待10秒鍾,如果每個分區都要等上10秒才能開始進行掃描,再加上掃描本身需要的時間,會耗費相當長的時間才能完成啟動過程。對於這種情況我們可以設置取消磁碟掃描的等待時間,甚至禁止對某個磁碟分區進行掃描。
選擇「開始→運行」,在運行對話框中鍵入「chkntfs/t:0」,即可將磁碟掃描等待時間設置為0;如果要在計算機啟動時忽略掃描某個分區,比如C盤,可以輸入「chkntfs/xc:」命令;如果要恢復對C盤的掃描,可使用「chkntfs/dc:」命令,即可還原所有chkntfs默認設置,除了自動文件檢查的倒計時之外。
2.提高系統運行速度
提升系統運行速度的思路與加快啟動的速度類似:盡量優化軟硬體設置,減輕系統負擔。以下是一些常用的優化手段。
(1)設置處理器二級緩存容量
WindowsXP無法自動檢測處理器的二級緩存容量,需要我們自己在注冊表中手動設置,首先打開注冊表,找到「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\」,選擇其下的「SecondLevelDataCache」,根據自己所用的處理器設置即可,例如PIIICoppermine/P4Willamette是「256」,AthlonXP是「384」,P4Northwood是「512」。
(2)提升系統緩存
同樣也是在「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\」位置,把其下的「LargeSystemCache」鍵值從0改為1,WindowsXP就會把除了4M之外的系統內存全部分配到文件系統緩存中,這樣XP的內核能夠在內存中運行,大大提高系統速度。
通常來說,該優化會使系統性能得到相當的提升,但也有可能會使某些應用程序性能降低。需要注意的是必須有256M以上的內存,激活LargeSystemCache才可起到正面的作用,否則不要輕易改動它。
(3)改進輸入/輸出性能
這個優化能夠提升系統進行大容量文件傳輸時的性能,不過這只對伺服器用戶才有實在意義。我們可在中新建一個DWORD(雙位元組值)鍵值,命名為IOPageLockLimit。一般情況下把數據設置8~16MB之間性能最好,要記住這個值是用位元組來計算的,例如你要分配10MB的話,就是10×?1024×1024,也就是10485760。這里的優化也需要你的機器擁有大於256M的內存。
(4)禁用內存頁面調度
在正常情況下,XP會把內存中的片斷寫入硬碟,我們可以阻止它這樣做,讓數據保留在內存中,從而提升系統性能。在注冊表中找到「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\」下的「DisablePagingExecutive」鍵,把它的值從0改為1即可禁止內存頁面調度了。
(5)關閉自動重新啟動功能
當WindowsXP遇到嚴重問題時便會突然重新開機,可從注冊表將此功能取消。打開注冊表編輯器,找到「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\」將AutoReboot鍵的Dword值更改為0,重新啟動後設置即可生效。
(6)改變視覺效果
WindowsXP在默認情況下啟用了幾乎所有的視覺效果,如淡入淡出、在菜單下顯示陰影。這些視覺效果雖然漂亮,但對系統性能會有一定的影響,有時甚至造成應用軟體在運行時出現停頓。一般情況下建議少用或者取消這些視覺效果。
選擇桌面上「我的電腦」圖標,單擊滑鼠右鍵,在彈出的快捷菜單中選擇「屬性」命令,打開「系統屬性」對話框。選擇「高級」選項卡,在其中的「性能」欄中單擊「設置」按鈕,會彈出「性能選項」對話框(如圖4),可選擇「調整為最佳性能」單選框來關閉所有的視覺效果,也可選擇「自定義」然後選擇自己需要的視覺效果。
(7)合理設置頁面虛擬內存
同樣也是在「性能選項」對話框中,選擇「高級」選項卡,在其中的「虛擬內存」欄中單擊「更改」按鈕,接下來選擇虛擬內存為「自定義大小」,然後設置其數值。一般情況下,把虛擬設為不小於256M,不大於382M比較合適,而且最大值和最小值最好一樣。
(8)修改外觀方案
WindowsXP默認的外觀方案雖然漂亮,但對系統資源的佔用也多,可將其改為經典外觀以獲得更好的性能。
在桌面空白位置單擊滑鼠右鍵,從彈出的快捷菜單中選擇「屬性」命令,會打開「顯示屬性」對話框,在「主題」選項卡選擇主題為「Windows經典」,即可將外觀修改為更為經濟的Windows經典外觀。
(9)取消XP對ZIP支持
WindowsXP在默認情況下打開了對zip文件支持,這要佔用一定的系統資源,可選擇「開始→運行」,在「運行」對話框中鍵入「regsvr32/uzipfldr.dll」,回車確認即可取消XP對ZIP解壓縮的支持,從而節省系統資源。
(10)關閉Dr.Watson
Dr.Watson是WindowsXP的一個崩潰分析工具,它會在應用程序崩潰的時候自動彈出,並且在默認情況下,它會將與出錯有關的內存保存為DUMP文件以供程序員分析。不過,記錄DUMP文件對普通用戶則毫無幫助,反而會帶來很大的不便:由於Dr.Watson在應用程序崩潰時會對內存進行DUMP記錄,將出現長時間硬碟讀寫操作,要很長一斷時間程序才能關閉,並且DUMP文件還會佔用大量磁碟空間。
要關閉Dr.Watson可打開注冊表編輯器,找到「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug」分支,雙擊其下的Auto鍵值名稱,將其「數值數據」
**【據說最為有效、最快捷方法】:
點我的電腦右鍵-管理-計算機管理-設備管理器-IDEATA/ATAPI控制器-展開-先選擇主要IDE通道-高級設置,將當前傳輸模式為不適用的設備類型改為無
同理,把次要IDE通道里顯示當前模式為不使用的設備類型改為無。(如果顯示僅為pio那麼一定要改為DMA)即可大大提高Xp開機速度,縮短XP進度條滾動的時間。
其原理是關閉檢測不存在的IDE通道,測試前XP滾動條滾動圈數為6圈,修改後為半圈,大大提高了開機速度。
Ⅳ 軟體開發有什麼要求
不同的軟體,對電腦的配置要求不同一般常用的公軟體、娛樂軟體,電腦都能正常運行。專業的制圖、建模軟體則對電腦配置有要求。例如3Dmax對電腦的配置要求比較高,詳情如下:1、Intel或AMD處理器,主頻至少1GB(推薦使用雙IntelXeon處理器或雙AMDAthlon系統)。2、512內存,至少500MB硬碟交換空間(推薦使用1GB內存及2GB硬碟交換空間)。3、1024*76816位色顯存的圖形卡(需支持OpenGL和Direct3D硬體加速;推薦選用256MB顯存、1280*102424位色3D圖形加速器)。以上是最低配置要求,電腦的配置越高,使用3Dmax渲圖、做視頻、建模更有效率,速度也更快。
沒什麼要求 我就程序員,內存最少512的才不卡,cpu 一點幾的都行,但是最好使雙核的,這不是對程序員的要求,而是現在雙核不貴,你再買老的就沒什麼意思了。硬碟一般都是5400轉的 你也不用挑 ,也沒的挑。但是硬碟最好大點的,我買的本才40G,感覺不夠用。顯卡無所謂了,因為你是程序員用,也不用玩游戲,集成顯卡就夠了,要是玩游戲買個獨顯的。最好買IBM的,雖然貴點,但是值
從業十年,看到過許多優秀的程序員,也見過不少平庸這輩,更有不少只能轉做其它。原因我想也許他們一開始對自己的要求就不高,更重要的也可能是他們沒有抓住程序的本質,沒有搞清楚如何才能把事情做好。首先想把每個程序都做到最好這種信念是先決條件,人首先要有志向,只要想做好才有可能做好,下文所有的內容都是給這類人寫的,如果只想混口飯吃,或者以後想做市場等其它方面的人就不用想這些事了。以下是我認為比較重要的幾個原則,不當之處共同談討。1,思路要簡單,這樣寫出來的代碼就會比較簡單易懂。在這點上我比較占優勢,當年一直沒有學好過數學,所以太復雜的問題想不懂,因而一直採取比較簡單的方法,容易的思路。君不見有人寫代碼非要想的很多,本來很簡單的一個道理:兩點之間直線距離最短,他偏要來個九曲十八彎。這種代碼時間長了或者轉給別人就不好維護。要做到也很容易,寫代碼之間大概想一下思路,一開始不清楚也沒有關系,寫的過程中發現代碼有點拗口或者自己也不大明白時一定要停下來想一想這個思路本身是否有問題。2,要做思想上的勤勞者,動手時的懶人。代碼盡量少,這至少有兩個好處:少打一些字,機器執行時的效率也會高,當然附加作用是看的人也容易理解。寫好代碼之後多想想這些東西是否還可以簡化,力爭將代碼做到最少,代碼少有兩層意思:源代碼量小及機器碼也少,所以我們對每句源代碼可能產生的機器也要有所了解。3,代碼量要小的另一重要環節是盡量不要調用系統api,復雜操作系統的api一般都是在一個功能提供者進程中實現的,其它調用者調用這些api時需要在提供運者進程中啟動一個線程來完成這些調用,如此造成多執行很多代碼。4,每個程序都應該很好的模塊化,分層定位準確。例如就驅動來講,驅動功能最簡單的描述就是向上(操作系統)提供介面供調用,向下操作硬體實現自己的功能。在這過程中需要經過一些調用,我們需要將這些代碼模塊化,使得最終操作硬體的代碼在一起,不要很多函數都在操作同一硬體,實現差不多的功能,這種函數就可以歸結為一個,通過不同的對數來區別各個功能,實現自己的目的,這樣出現問題以後就比較好查。5,代碼要整潔,至少每一個源文件的編譯風格要一致,這就不用多說了,誰也不想看亂七八糟的程序。
Ⅳ Elasticsearch為啥這么快
思考幾個問題:
這里有篇 文章 講解的很形象:
這是集群cluster。
這是節點Node:就是個機器。
由一個或者多個節點,多個綠色小方塊組合在一起形成一個ElasticSearch的索引。
在一個索引下,分布在多個節點里的綠色小方塊稱為分片:Shard。
一個分片就是一個Lucene Index。
在Lucene裡面有很多小的Segment,即為存儲的最小管理單元。
我們分別從Node維度、Shard維度、Segment維度來闡明為啥Elasticsearch這么快。
多節點的集群方案,提高了整個系統的並發處理能力。
路由一個文檔到一個分片中:當索引一個文檔的時候,文檔會被存儲到一個主分片中。 Elasticsearch 如何知道一個文檔應該存放到哪個分片中呢?實際上,這個過程是根據下面這個公式決定的:
routing 是一個可變值,默認是文檔的 _id ,也可以設置成一個自定義的值。這就解釋了為什麼我們要在創建索引的時候就確定好主分片的數量,並且永遠不會改變這個數量:因為如果數量變化了,那麼所有之前路由的值都會無效,文檔也再也找不到了。
確定了在哪個分片中,繼而可以判定其在哪個節點上。
那麼主分片數確定的情況下,如果做集群擴容呢?下圖是一種主分片的擴容辦法,開始設置為5個分片,在單個節點上,後來擴容到5個節點,每個節點有一個分片。也就是說單個分片的容量變大了,但是數量並不增加。
節點分為主節點 Master Node、數據節點 Data Node和客戶端節點 Client Node(單純為了做請求的分發和匯總)。每個節點都可以接受客戶端的請求,每個節點都知道集群中任一文檔位置,所以可以直接將請求轉發到需要的節點上。當接受請求後,節點變為「協調節點」。從這個角度,整個系統可以接受更高的並發請求,當然搜索的就更快了。
以更新文檔為例:
Elasticsearch 中使用的這種方法假定沖突是不可能發生的,並且不會阻塞正在嘗試的操作。因為沒有阻塞,所以提升了索引的速度,同時可以通過 _version 欄位來保證並發情況下的正確性:
控制在我們索引中的文檔只有現在的 _version 為 1 時,本次更新才能成功。
可以設置分片的副本數量來提升高並發場景下的搜索速度,但是同時會降低索引的效率。
在底層採用了分段的存儲模式,使它在讀寫時幾乎完全避免了鎖的出現,大大提升了讀寫性能。
怎樣在保留不變性的前提下實現倒排索引的更新?即用上文提到的 _version ,創建更多的索引文檔。實際上一個 UPDATE 操作包含了一次 DELETE 操作(僅記錄標志待Segment Merge 的時候才真正刪除)和一次 CREATE 操作。
為了提升寫索引速度,並且同時保證可靠性,Elasticsearch 在分段的基礎上,增加了一個 translog ,或者叫事務日誌,在每一次對 Elasticsearch 進行操作時均進行了日誌記錄。
Segment在被refresh之前,數據保存在內存中,是不可被搜索的,這也就是為什麼 Lucene 被稱為提供近實時而非實時查詢的原因。
但是如上這種機制避免了隨機寫,數據寫入都是 Batch 和 Append,能達到很高的吞吐量。同時為了提高寫入的效率,利用了文件緩存系統和內存來加速寫入時的性能,並使用日誌來防止數據的丟失。
LSM-Tree 示意圖如下,可見 Lucene 的寫入思想和 LSM-Tree 是一致的:
終於說到倒排索引了,都說倒排索引提升了搜索的速度,那麼具體採用了哪些架構或者數據結構來達成這一目標?
如上是Lucene中實際的索引結構。用例子來說明上述三個概念:
ID是文檔id,那麼建立的索引如下:
Name:
Age:
Sex:
可見為每個 field 都建立了一個倒排索引。Posting list就是一個int的數組,存儲了所有符合某個term的文檔id。實際上,除此之外還包含:文檔的數量、詞條在每個文檔中出現的次數、出現的位置、每個文檔的長度、所有文檔的平均長度等,在計算相關度時使用。
假設我們有很多個 term,比如:
如果按照這樣的順序排列,找出某個特定的 term 一定很慢,因為 term 沒有排序,需要全部過濾一遍才能找出特定的 term。排序之後就變成了:
這樣我們可以用二分查找的方式,比全遍歷更快地找出目標的 term。這個就是 term dictionary。有了 term dictionary 之後,可以用 logN 次磁碟查找得到目標。
但是磁碟的隨機讀操作仍然是非常昂貴的(一次 random access 大概需要 10ms 的時間)。所以盡量少的讀磁碟,有必要把一些數據緩存到內存里。但是整個 term dictionary 本身又太大了,無法完整地放到內存里。於是就有了 term index。term index 有點像一本字典的大的章節表。比如:
A 開頭的 term ……………. Xxx 頁
C 開頭的 term ……………. Yyy 頁
E 開頭的 term ……………. Zzz 頁
如果所有的 term 都是英文字元的話,可能這個 term index 就真的是 26 個英文字元表構成的了。但是實際的情況是,term 未必都是英文字元,term 可以是任意的 byte 數組。而且 26 個英文字元也未必是每一個字元都有均等的 term,比如 x 字元開頭的 term 可能一個都沒有,而 s 開頭的 term 又特別多。實際的 term index 是一棵 trie 樹:
例子是一個包含 "A", "to", "tea", "ted", "ten", "i", "in", 和 "inn" 的 trie 樹。這棵樹不會包含所有的 term,它包含的是 term 的一些前綴。通過 term index 可以快速地定位到 term dictionary 的某個 offset,然後從這個位置再往後順序查找。
現在我們可以回答「為什麼 Elasticsearch/Lucene 檢索可以比 mysql 快了。Mysql 只有 term dictionary 這一層,是以 b-tree 排序的方式存儲在磁碟上的。檢索一個 term 需要若干次的 random access 的磁碟操作。而 Lucene 在 term dictionary 的基礎上添加了 term index 來加速檢索,term index 以樹的形式緩存在內存中。從 term index 查到對應的 term dictionary 的 block 位置之後,再去磁碟上找 term,大大減少了磁碟的 random access 次數。
實際上,Lucene 內部的 Term Index 是用的「變種的」trie樹,即 FST 。FST 比 trie樹好在哪?trie樹只共享了前綴,而 FST 既共享前綴也共享後綴,更加的節省空間。
一個FST是一個6元組 (Q, I, O, S, E, f):
例如有下面一組映射關系:
可以用下圖中的FST來表示:
這篇文章講的很好: 關於Lucene的詞典FST深入剖析
想想為啥不用 HashMap,HashMap 也能實現有序Map?耗內存啊!犧牲了一點性能來節約內存,旨在把所有Term Index都放在內存裡面,最終的效果是提升了速度。如上可知,FST是壓縮字典樹後綴的圖結構,她擁有Trie高效搜索能力,同時還非常小。這樣的話我們的搜索時,能把整個FST載入到內存。
總結一下,FST有更高的數據壓縮率和查詢效率,因為詞典是常駐內存的,而 FST 有很好的壓縮率,所以 FST 在 Lucene 的最新版本中有非常多的使用場景,也是默認的詞典數據結構。
Lucene 的tip文件即為 Term Index 結構,tim文件即為 Term Dictionary 結構。由圖可視,tip中存儲的就是多個FST,
FST中存儲的是<單詞前綴,以該前綴開頭的所有Term的壓縮塊在磁碟中的位置>。即為前文提到的從 term index 查到對應的 term dictionary 的 block 位置之後,再去磁碟上找 term,大大減少了磁碟的 random access 次數。
可以形象地理解為,Term Dictionary 就是新華字典的正文部分包含了所有的詞彙,Term Index 就是新華字典前面的索引頁,用於表明詞彙在哪一頁。
但是 FST 即不能知道某個Term在Dictionary(.tim)文件上具體的位置,也不能僅通過FST就能確切的知道Term是否真實存在。它只能告訴你,查詢的Term可能在這些Blocks上,到底存不存在FST並不能給出確切的答案,因為FST是通過Dictionary的每個Block的前綴構成,所以通過FST只可以直接找到這個Block在.tim文件上具體的File Pointer,並無法直接找到Terms。
回到上面的例子,給定查詢過濾條件 age=24 的過程就是先從 term index 找到 18 在 term dictionary 的大概位置,然後再從 term dictionary 里精確地找到 18 這個 term,然後得到一個 posting list 或者一個指向 posting list 位置的指針。然後再查詢 sex=Female 的過程也是類似的。最後得出 age= 24 AND sex=Female 就是把兩個 posting list 做一個「與」的合並。
這個理論上的「與」合並的操作可不容易。對於 mysql 來說,如果你給 age 和 gender 兩個欄位都建立了索引,查詢的時候只會選擇其中最 selective 的來用,然後另外一個條件是在遍歷行的過程中在內存中計算之後過濾掉。那麼要如何才能聯合使用兩個索引呢?有兩種辦法:
Elasticsearch 支持以上兩種的聯合索引方式,如果查詢的 filter 緩存到了內存中(以 bitset 的形式),那麼合並就是兩個 bitset 的 AND。如果查詢的 filter 沒有緩存,那麼就用 skip list 的方式去遍歷兩個 on disk 的 posting list。
用一個例子來說明如何使用 skip list 的思路來做合並(參考 Lucene學習總結之七:Lucene搜索過程解析(5) ):
Advance操作是什麼?就是 skip list 提供的快速跳躍的特性。
另外一方面,對於一個很長的 posting list,比如:
[1,3,13,101,105,108,255,256,257]
我們可以把這個 list 分成三個 block:
[1,3,13] [101,105,108] [255,256,257]
然後可以構建出 skip list 的第二層:
[1,101,255]
1,101,255 分別指向自己對應的 block。這樣就可以很快地跨 block 的移動指向位置了。
Lucene 自然會對這個 block 再次進行壓縮。其壓縮方式叫做 Frame Of Reference 編碼。示例如下:
考慮到頻繁出現的 term(所謂 low cardinality 的值),比如 gender 里的男或者女。如果有 1 百萬個文檔,那麼性別為男的 posting list 里就會有 50 萬個 int 值。用 Frame of Reference 編碼進行壓縮可以極大減少磁碟佔用。這個優化對於減少索引尺寸有非常重要的意義。當然 mysql b-tree 里也有一個類似的 posting list 的東西,是未經過這樣壓縮的。
因為這個 Frame of Reference 的編碼是有解壓縮成本的。利用 skip list,除了跳過了遍歷的成本,也跳過了解壓縮這些壓縮過的 block 的過程,從而節省了 cpu。
這也可以看到,Lucene 為了省內存真是做到了極致。
Bitset 是一種很直觀的數據結構,對應 posting list 如:
[1,3,4,7,10]
對應的 bitset 就是:
[1,0,1,1,0,0,1,0,0,1]
每個文檔按照文檔 id 排序對應其中的一個 bit。Bitset 自身就有壓縮的特點,其用一個 byte 就可以代表 8 個文檔。所以 100 萬個文檔只需要 12.5 萬個 byte。但是考慮到文檔可能有數十億之多,在內存里保存 bitset 仍然是很奢侈的事情。而且對於個每一個 filter 都要消耗一個 bitset,比如 age=18 緩存起來的話是一個 bitset,18<=age<25 是另外一個 filter 緩存起來也要一個 bitset。
所以秘訣就在於需要有一個數據結構:
可以很壓縮地保存上億個 bit 代表對應的文檔是否匹配 filter;
這個壓縮的 bitset 仍然可以很快地進行 AND 和 OR 的邏輯操作。
Lucene 使用的這個數據結構叫做 Roaring Bitmap。
其壓縮的思路其實很簡單。與其保存 100 個 0,佔用 100 個 bit。還不如保存 0 一次,然後聲明這個 0 重復了 100 遍。
為什麼是以65535為界限?程序員的世界裡除了1024外,65535也是一個經典值,因為它=2^16-1,正好是用2個位元組能表示的最大數,一個short的存儲單位,注意到上圖里的最後一行「If a block has more than 4096 values, encode as a bit set, and otherwise as a simple array using 2 bytes per value」,如果是大塊,用節省點用bitset存,小塊就豪爽點,2個位元組我也不計較了,用一個short[]存著方便。
在 Lucene 7.0之後,Lucene 針對 bitset的稠稀性,採用不同的存儲方式:當 bitset比較稀疏時,直接存儲DocID;當 bitset 稠密時,則直接存儲 bitset 的Bits數據。根據數據的分布情況不同,採用適當的結構不僅可以提高空間的利用率,還能提高遍歷的效率。
Elasticsearch/Lucene 為了提升索引和搜索的效率,從上層到底層,使用了各種巧妙的數據結構和設計,靠優秀的理論加極致的優化,做到查詢性能上的極致。
Ⅵ 電腦顯卡級別怎麼分的
1、以性能來分,4650以下為入門級(9600以下),4670以上,4830、4850等 為中級(9600以上,GTX260以下),4870、5750、4890、5770等為高級(GTX260+以上),4870X2、5850、5870以上(GTX275285)為旗艦級,至於5970(GTX295)屬於變態級。
2、顯卡命名區分 (以英偉達GTX960M為例),GTX:代表的是高性能顯卡,也就是游戲顯卡。GT屬於入門級別顯卡。9:代表顯卡代數為第九代,例如:GTX1060M,則10代表第十代。6:代表同系列顯卡的高低端,顯卡在代數相同的情況下,此數值越大越好。
0:顯卡的一個小型號,數值前面所有數值相同情況下,越大越好。例如:GTX965M性能高於GTX960M。M:代表移動級別顯卡,英偉達顯卡後綴常見的有M 和MX,MX所代表的是低功耗版本,功耗要更低些。例如GT940M功耗36W大於GT940MX功耗為23W。
3、從名字區分,對於同晶元廠家的,如A卡或N卡,其本上用名字數字越大越高。對於A卡或N卡,顯卡第一個數字最大就表示推出時間越後,第二個數字越大,性能就越高,如7900與8600,雖然8600是後期推出的,但性能上7900比8600更強。
(6)1024程序員加速擴展閱讀
顯卡推出時間越遲越高,但不是絕對的,有時廠家會先推出完整版,後面再推出簡化的,所以不是絕對的,有一點可能說越遲推出的,支持最新技術就越高。
顯卡的顯存大小不同,也會影響顯卡的性能,比如GTX1060 6G性能強於GTX1060 3G。由於顯卡生產廠家的不同,以及廠家對同一型號顯卡的不同市場定位,不同系列的同型號顯卡性能也有差距,比如微星的魔龍系列與萬圖師系列,但是性能差距一般不會太大。
顯卡的性能比對,還可以通過GPuz等專業工具進行,顯卡體質的實測,進而了解其性能。
Ⅶ 正面對決硬碰硬,小鵬P7超越特斯拉Model3的底氣從何而來
這是何小鵬早前轉發的一條朋友圈,也是小鵬汽車眼中的下一個汽車時代。
本文來源於汽車之家車家號作者,不代表汽車之家的觀點立場。
Ⅷ 解決電腦卡頓的方法
電腦運行卡頓通常是驅動程序、啟動項載入較多、軟體沖突、系統問題引起的
1、驅動程序建議在官網下載安裝,避免第三方軟體更新的驅動不兼容。
2、查看控制面板---程序---卸載---是否有安裝一些不需要的軟體或類似軟體,如果殺毒軟體或優化軟體有多個,可以卸載,只保留一個。
3、建議關閉部分啟動項:開始---運行---msconfig,一些不重要的啟動項、或第三方軟體程序前面的「勾選」去掉取消。
4、系統方面,建議使用預裝系統或純凈版系統,避免ghost版本系統兼容性和穩定性不是很好。
5、電腦配置也是很重要的,如果您的電腦配置比較低,那麼就會造成卡頓的情況,這個情況只能是升級性能更佳的硬體,比如固態硬碟 內存增容等。