一種linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法
【專利摘要】本發(fā)明提供一種linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法,linux系統(tǒng)在進行新的任務前,會首先去執(zhí)行釋放內(nèi)存的動作,以釋放系統(tǒng)不再運行的任務,在運行時所形成的cache。這樣會有更多的內(nèi)存空間供系統(tǒng)中要執(zhí)行的用戶應用程序運行,可以提升系統(tǒng)的整體性能值,具體步驟是:通過linux系統(tǒng)下的虛擬文件系統(tǒng)/proc,修改/proc/sys/vm/drop_caches文件來對內(nèi)存進行調(diào)整,釋放已不再使用的cache回歸系統(tǒng),cpu調(diào)用文件時,緩存及時提供CPU所需的文件。
【專利說明】-種I inux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法
【技術領域】
[0001] 本發(fā)明涉及計算機應用領域,具體地說是一種linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性 能調(diào)優(yōu)方法。
【背景技術】
[0002] 在linux系統(tǒng)中,對于內(nèi)存優(yōu)化管理,直接影響到整個系統(tǒng)性能的發(fā)揮。系統(tǒng)在執(zhí) 行用戶任務時,各種應用程序頻繁的訪問及調(diào)用文件,從磁盤調(diào)入內(nèi)存的文件,使得系統(tǒng)內(nèi) 存很快被寫滿。此時如果再需要調(diào)用新文件時,則必須把將內(nèi)存中暫不使用文件釋放,再從 硬盤調(diào)入所需文件,處理器等待到文件被調(diào)進內(nèi)存后才可使用文件,這樣勢必造成處理器 等待的資源浪費;而當用戶任務執(zhí)行完畢后,其調(diào)用的應用程序所占用的系統(tǒng)內(nèi)存并不能 夠被正常釋放,而是被當做cache。當系統(tǒng)執(zhí)行其他任務時,還需要重復從磁盤到內(nèi)存的文 件替換,處理器等待的過程,這導致了整體系統(tǒng)性能的下降。
[0003] Linux系統(tǒng)的緩存機制是針對dentry (用于VFS,加速文件路徑名到inode的轉 換)、Buffer Cache (針對磁盤塊的讀寫)和Page Cache (針對文件inode的讀寫)進行緩 存操作。但是在進行了大量文件操作之后,緩存會把內(nèi)存資源基本用光。但實際上我們文 件操作已經(jīng)完成,這部分緩存已經(jīng)用不到了。如果不進行內(nèi)存的釋放,會導致系統(tǒng)因為物理 內(nèi)存被占滿。linux系統(tǒng)下的swap分區(qū),是系統(tǒng)在磁盤中劃分出的一部分空間,作為虛擬的 內(nèi)存空間。其存取速度大于磁盤存取速度,但是遠低于內(nèi)存存取速度。當內(nèi)存容量不夠時, 系統(tǒng)會自動分配swap做為內(nèi)存使用,由于虛擬內(nèi)存的存取速度因素,導致測試的最終性能 結果值較低。因此及時釋放作為cache的內(nèi)存,對于性能有較好的提升。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是提供一種linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法。本方法 適用于linux系統(tǒng)下內(nèi)存子系統(tǒng)性能調(diào)優(yōu)對性能測試結果有較大影響的性能測試領域。
[0005] 本發(fā)明的目的是按以下方式實現(xiàn)的,通過linux系統(tǒng)下的虛擬文件系統(tǒng)/proc,修 改/proc/sys/vm/drop_caches文件來對內(nèi)存進行調(diào)整,釋放已不再使用的cache回歸系 統(tǒng),cpu調(diào)用文件時,緩存及時提供CPU所需的文件,Linux系統(tǒng)下的內(nèi)存子系統(tǒng)性能調(diào)優(yōu)具 體實現(xiàn)步驟如下: 1) linux系統(tǒng)下系統(tǒng)文件/proc/sys/vm/drop_caches中,可選參數(shù)值所代表意義為: 可選參數(shù)1表不free pagecache ; 可選參數(shù) 2 表不 free dentries and inodes ; 可選參數(shù) 3 表不 free pagecache, dentries and inodes 為徹底釋放buffer與cache,選擇值3. 2) 運行sync命令以確保linux文件系統(tǒng)的完整性 3) 設置文件值: echo 3>/proc/sys/vm/drop_caches 內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)后,linux系統(tǒng)在進行新的任務前,會首先去執(zhí)行釋放內(nèi)存的動 作,以釋放系統(tǒng)不再運行的任務,以騰出更多的內(nèi)存空間供應用程序調(diào)用,這樣會有更多的 內(nèi)存空間供系統(tǒng)執(zhí)行用戶新的應用程序運行,以提升系統(tǒng)的整體性能值。
[0006] 所述的linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法,是在linux系統(tǒng)中,/proc 為虛擬文件系統(tǒng),通過對此虛擬文件的讀寫作為kernel與硬件間的通訊,本調(diào)優(yōu)方法就是 通過調(diào)整/proc/sys/vm/drop_caches來對內(nèi)存進行調(diào)整,釋放已不再使用的cache。
[0007] 本發(fā)明的有益效果是:linux系統(tǒng)在進行新的任務前,會首先去執(zhí)行釋放內(nèi)存的 動作,以釋放系統(tǒng)不再運行的任務,在運行時所形成的cache。這樣會有更多的內(nèi)存空間供 系統(tǒng)中要執(zhí)行的用戶應用程序運行,可以提升系統(tǒng)的整體性能值。
【專利附圖】
【附圖說明】
[0008] 圖1是系統(tǒng)內(nèi)存分配邏輯圖。
【具體實施方式】
[0009] 參照說明書附圖對本發(fā)明的方法作以下詳細地說明。
[0010] 本發(fā)明的一種linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法,是通過linux系統(tǒng) 下的虛擬文件系統(tǒng)/proc,修改/proc/sys/vm/drop_caches文件來對內(nèi)存進行調(diào)整,釋放 已不再使用的cache回歸系統(tǒng),cpu調(diào)用文件時,緩存及時提供CPU所需的文件。
[0011] 在系統(tǒng)中,通過命令: #free - m 查看內(nèi)存使用情況。
[0012] linux系統(tǒng)下查詢內(nèi)存使用結果如下: # free _m total used free shared buffers cached Mem: totalnum usedl freel 0 buffer cached -/+ buffers/cache: used2 free2 Swap: -- -- --- 內(nèi)存使用關系式為: Total (totalnum) =used (usedl) + free (freel) -/buffer/cache :used(used2)=used (usedl) - buffers - cached +/buffer/cache :free (free2) =free (freel) + buffers + cached 通過內(nèi)存使用關系式及內(nèi)存分配邏輯圖可以看出,-/buffer/cached中的 used(used2)是被實實在在的程序吃掉的內(nèi)存部分。而看似被分配內(nèi)存的usedl,其中 buffer與cached的部分存在一些已不再運行的程序,還在占用。因此通過優(yōu)化,清除不再 運行的程序所占用的buffer與cache,得到真正空閑內(nèi)存的容量,即-/buffer/cached中的 free2才是系統(tǒng)中真正的空閑內(nèi)存容量。
[0013] Linux系統(tǒng)下的具體實現(xiàn)步驟: 1. linux系統(tǒng)下系統(tǒng)文件/proc/sys/vm/drop_caches中,可選參數(shù)值所代表意義為: 可選參數(shù)1表不free pagecache ; 可選參數(shù) 2 表不 free dentries and inodes ; 可選參數(shù) 3 表不 free pagecache, dentries and inodes 為徹底釋放buffer與cache,選擇值3. 2. 運行sync命令以確保linux文件系統(tǒng)的完整性 3. 設置文件值: echo 3>/proc/sys/vm/drop_caches 這樣設置后,linux系統(tǒng)在進行新的任務前,會首先去執(zhí)行釋放內(nèi)存的動作,以釋放系 統(tǒng)不再運行的任務,在運行時所形成的cache。這樣會有更多的內(nèi)存空間供系統(tǒng)中要執(zhí)行的 用戶應用程序運行,可以提升系統(tǒng)的整體性能值。
[0014] 除說明書所述的技術特征外,均為本專業(yè)技術人員的已知技術。
【權利要求】
1. 一種linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法,其特征在于通過linux系統(tǒng) 下的虛擬文件系統(tǒng)/proc,修改/proc/sys/vm/drop_caches文件來對內(nèi)存進行調(diào)整,釋放 已不再使用的cache回歸系統(tǒng),cpu調(diào)用文件時,緩存及時提供CPU所需的文件,Linux系統(tǒng) 下的內(nèi)存子系統(tǒng)性能調(diào)優(yōu)具體實現(xiàn)步驟如下: 1. linux系統(tǒng)下系統(tǒng)文件/proc/sys/vm/drop_caches中,可選參數(shù)值所代表意義為: 可選參數(shù)1表不free pagecache ; 可選參數(shù) 2 表不 free dentries and inodes ; 可選參數(shù) 3 表不 free pagecache, dentries and inodes 為徹底釋放buffer與cache,選擇值3. 2) 運行sync命令以確保linux文件系統(tǒng)的完整性 3) 設置文件值: echo 3>/proc/sys/vm/drop_caches 內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)后,linux系統(tǒng)在進行新的任務前,會首先去執(zhí)行釋放內(nèi)存的動 作,以釋放系統(tǒng)不再運行的任務,以騰出更多的內(nèi)存空間供應用程序調(diào)用,這樣會有更多的 內(nèi)存空間供系統(tǒng)執(zhí)行用戶新的應用程序運行,以提升系統(tǒng)的整體性能值。
2. 根據(jù)權利要求1所述的linux系統(tǒng)下基于內(nèi)存子系統(tǒng)的性能調(diào)優(yōu)方法,其特征在于, 在linux系統(tǒng)中,/proc為虛擬文件系統(tǒng),通過對此虛擬文件的讀寫作為kernel與硬件間 的通訊,本調(diào)優(yōu)方法就是通過調(diào)整/proc/sys/vm/drop_caches來對內(nèi)存進行調(diào)整,釋放已 不再使用的cache。
【文檔編號】G06F9/50GK104123192SQ201410379213
【公開日】2014年10月29日 申請日期:2014年8月4日 優(yōu)先權日:2014年8月4日
【發(fā)明者】劉麗 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司