當前位置:首頁 » 文件管理 » 運存壓縮

運存壓縮

發布時間: 2022-08-18 09:11:37

『壹』 內存壓縮的原理

就是把「占著毛坑不拉絲」的清除出去

『貳』 怎麼壓縮文件 使壓縮後占空間最小

1.以Tencent的文件夾為例,點擊「屬性」

『叄』 智能手機在後台運行時壓縮內存是好是壞

其實無所謂 現在智能手機內存和運存都很大

求採納

『肆』 如何將win101的內存壓縮發揮到極致

win10佔用硬碟大解決辦法:一、關閉家庭組
家庭組是佔用硬碟的重要原因之一。有網友反映,在關閉家庭組後,硬碟佔用率從90%降到10%左右 ,這不是聳人聽聞。因為開啟家庭組後,系統就會不斷地使用硬碟復制文件共享 ,導致硬碟佔用率達到90%以上,影響系統速度。而大多數家用電腦並不需要把文件共享到區域網 ,
以下是具體解決方案:
1、控制面板-管理工具-服務
2、找到「HomeGroupListener」服務,雙擊打開或右鍵單擊「屬性」命令。
3、在彈出屬性界面窗口,在常規選項卡單擊啟動類型的下拉框,出來的列表選擇「禁用」。然後在服務狀態下單擊「停止」按鈕,修改後單擊「確定」按鈕保存設置。
同樣,對HomeGroupProvider服務也採取相同的處理方法。
關閉家庭組後磁碟讀寫次數大大減少
二、關閉自動維護計劃任務
win8.1的自動維護功能在運行狀態下會佔有比較高的硬碟佔用、CPU佔用,從而讓配置中低端的電腦變得異常緩慢,甚至會出現無響應和死機等狀況。但是我們完全可以藉助第三方優化軟體優化硬碟,推薦隔一兩個月優化一次。以下是關閉自動維護計劃任務具體方案:
1、打開路徑:C:
2、把文件夾「Defrag」重命名為「Defrag.bak」
至此饒人的自動維護就消失了,磁碟的使用率也開始正常了
三、關閉虛擬內存
(註:如果物理內存在2G或2G以下不建議使用本方案!)
win8/8.1默認開啟虛擬內存,他會把部分應用的內存轉儲到硬碟中,避免物理內存不夠用的情況。中低端的電腦開啟虛擬內存,可以提高運行效率。
不過,在物理內存充沛的情況下,用虛擬內存不僅沒有效果,反而會有硬碟佔用率高的「副作用」,因此,推薦物理內存4G或4G以上的用戶關閉虛擬內存。以下是具體解決法案。
1、右擊「計算機」選擇屬性,打開之後選擇「高級系統設置」
2、點擊「性能」中的設置按鈕;
3、選擇「高級」,點擊虛擬內存中的「更改」,將「自動管理驅動器的分頁文件大小」對勾去掉,點擊下面的「無分頁文件」,點擊「設置」並「確定」即可。
四、關閉IPv6
現在中國使用IPv6的普通用戶幾乎沒有,但在Win8/8.1下,IPv6功能是默認開啟的,這使電腦硬碟佔用率高,出現開機系統未響應,假死等情況。因此,建議不使用IPv6的用戶可以完全關閉掉這個「多餘」的功能。以下是具體解決方案:
1、打開控制面板-網路和 Internet-網路和共享中心-更改適配器設置
2、選擇你使用的Internet網路,右擊選擇屬性,把如圖所示的選項去掉鉤,並點擊 確定 保存
五、關閉Windows Defender
打開Windows Defender後,Windows Defender會全盤掃描系統,打開文件夾會十分卡頓,無外乎出現硬碟佔用高的情況。安裝了其他殺毒軟體後,Windows Defender會自動關閉。如果你是一位有足夠經驗的電腦高手,不需要使用任何殺毒軟體的話,關掉Windows Defender硬碟佔用率肯定會明顯降低。以下是具體解決方案:
打開控制面板-所有控制面板項-Windows Defender
在設置選項卡把 啟用實時防護 的鉤去掉,點擊保存設置退出
關閉Windows Defender後,操作中心可能會有打開Windows Defender的提示,選擇關閉消息即可
六、關閉Windows Search
Windows Search是Win7系統後的搜索索引服務,這大大加快了搜索本地文件的速度,然而,Windows Search是一把雙刃劍,帶來快速搜索的同時,也提高了硬碟讀寫。Windows Search會在後台「偷偷」地讀寫硬碟上的文件,如果你不使用搜索本地文件的功能或很少使用的話,還是把Windows Search關閉了吧。以下是具體解決方案:
按第一種方法找到控制面板-所有控制面板項-管理工具-服務
找到Windows Search服務,右擊選擇屬性,把啟動類型改為禁用
並停用Windows Search服務

『伍』 怎麼壓縮安卓軟體的運行內存

這個可以通過修改虛擬機內存大小大小來實現,改小一點,畫面不那麼流暢但反應變快,占內存變小

『陸』 手機下載了運存管理怎麼操作啊那個壓縮內存是什麼意思釋放內存又什麼意思啊

一般來說,智能手機都有一定大小的內存,分為Rom(只讀內存)和Ram(隨機訪問內存)兩種,跟電腦相似,通常Rom比較大,而Ram比較小,Rom部分是用來存放操作系統和各種程序的,而程序在運行時必須調入Ram運行,壓縮內存一般是指把Ram中的程序按照一定的規則重新調整,使內存使用得到優化,而釋放內存就是把已經調入內存運行的程序關閉,使內存(Ram)能夠被其他程序再次使用。

PS:手機上有很多軟體即使退出其操作界面也仍然在內存中運行,所以釋放內存是很有必要的。

『柒』 win10—— 任務管理器——內存——使用中(已壓縮)是怎麼回事能把壓縮解掉嗎

是微軟對 WIN 10 使用的一種新技術。就是在內存使用量不大的情況下對內存進行壓縮,把壓縮也來的空間用於緩存一些剛剛使用過,並且還將再使用的過程程序,當再運行這個程序時就可以直接從內在中提取,而不必從硬碟提取,這樣可以提高系統的運行速度。可以把壓縮解掉,更換程序就可以了。

『捌』 有沒有可以壓縮手機運存的軟體

很多!手機安全軟體本身就有此類功能!

『玖』 壓縮內存是什麼意思 壓縮了有什麼好處

摘要:介紹內存壓縮技術和一個基於硬體的內存壓縮系統模型,探討內存壓縮技術在嵌入式系統中的應用;重點介紹內存壓縮系統的硬體要求及操作系統對內存壓縮機制的支持;簡單介紹內存壓縮中常用的演算法Lempel-Ziv,並就內存壓縮技術在嵌入式系統中的應用問題作一些探討。
關鍵詞:嵌入式系統 內存壓縮 壓縮內存控制器 Lempel-Ziv演算法

1 內存壓縮技術介紹

為節省存儲空間或傳輸帶寬,人們已經在計算機系統中廣泛地使用了數據壓縮技術。在磁介質存儲數據或網路傳輸數據時,人們使用基於硬體或軟體的各種壓縮技術。當壓縮技術在各個領域都很流行時,內存壓縮技術卻由於其復雜性而一直未得到廣泛使用。近年來,由於在並行壓縮一解壓演算法以及在硅密度及速度方面取得的進展,使得內存壓縮技術變得可行。

內存壓縮技術的主要思想是將數據按照一定的演算法壓縮後存入壓縮內存中,系統從壓縮內存中找到壓縮過的數據,將其解壓後即可以供系統使用。這樣既可以增加實際可用的內存空間,又可以減少頁面置換所帶來的開銷,從而以較小的成本提高系統的整體性能。

內存壓縮機制是在系統的存儲層次中邏輯地加入一層——壓縮內存層。系統在該層中以壓縮的格式保存物理頁面,當頁面再次被系統引用時,解壓該壓縮頁後,即可使用。我們將管理這一壓縮內存層的相關硬體及軟體的集合統稱為內存壓縮系統。內存壓縮系統對於CPU、I/O設備、設備驅動以及應用軟體來說是透明的,但是操作系統必須具有管理內存大小變化以及壓縮比率變化的功能。

對於大多數的操作系統而言,要實現內存壓縮,大部分體系結構都不需要改動。在標準的操作系統中,內存都是通過固定數目的物理頁框(page frame)來描述的,由操作系統的VMM來管理。要支持內存壓縮,OS要管理的實際內存大小和頁框數目是基於內存的壓縮比率來確定的。這里的實現內存是指操作系統可的內存大小,它與物理內存的關系如下:假設PM是物理內存,RM(t)是系統在t時刻的實際內存,而CR(t)是壓縮比率,在給定時刻t可支持的最大實際內存為RM(t)=CR1(t)×PM。然而,由於應用程序的數據壓縮率是不依賴於OS而動態變化的,未壓縮的數據可能會耗盡物理內存,因此當物理內存接近耗盡時,操作系統必須採取行動來解決這個問題。

2 內存壓縮系統的硬體模型

目前由於內存壓縮的思想越來越引起人們的注意市場上也出現了一些基於軟體的內存壓縮器。這些內存壓縮器主要是通過軟體對數據進行壓縮,但由於訪問壓縮數據帶來的延遲,它在系統性能方面改進並不明顯,有些甚至降低了系統性能。本節介紹一種基於硬體的內存壓縮系統模型。

圖1是一個典型的內存壓縮系統的硬體模型,包括了壓縮內存、L3高速緩沖、壓縮內存控制器等硬體部分。

其中壓縮內存(133MHz SDRAM)包含了壓縮數據。L3高速緩沖是一個共享的、32MB、4路組相聯、可回寫的高速緩沖,每行大小為1KB,由兩倍數據率(DDR)SDRAM制定。L3高速緩沖包含了未壓縮的緩沖行,由於大部分的訪問都可以在L3高速緩沖中命中,因此它隱藏了訪問壓縮主存引起的延遲。L3高速緩沖對於存儲分級體系中的上層而言就是主存,它的操作對於其它硬體,包括處理器和I/O來說都是透明的。壓縮內存控制器是整個內存壓縮系統的控制中心,它負責數據的壓縮/解壓,監控物理內存的使用情況以及實際地址到物理地址的定址過程。

數據壓縮過程是這樣的:壓縮內存控制將1KB的高速緩沖行壓縮後寫入壓縮內存中,然後將它們從壓縮內存中讀出後解壓。其壓縮演算法就是Lempel-Ziv演算法,我們會在下一部分介紹這個演算法。壓縮機制將壓縮的數據塊以不同的長度格式存放到內存中。壓縮內存的存儲單元是一個256位元組的區域。按照壓縮比率不同,一個1KB的內存塊(正好是L3每行的大小)可以占據0~4個壓縮區域。

壓縮內存控制器必須根據長度格式的不同將系統匯流排上的實際地址翻譯成物理內存的中的物理地址。實際地址是出現在處理器外部匯流排上常規地址。篁 址用來錄十壓縮內存的256位元組區域。實際地址空間存在於L1/L2/L3高速緩沖中,用於立即訪問。而其餘的內存內容部分以壓縮形式存在於物理內存中。內存控制器通過查詢壓縮翻譯表(CTT)執行從實際地址到物理地址的翻譯,這個表被保留在物理內存的某個位置。圖2是CTT表的格式及內存控制器的定址模式。

每個1KB內存塊的實際地址映射到CTT的一項,而CTT每項共16位元組,包括四個物理區域地址,每個地址指向物理內存聽一個256位元組區域。對於少於120位的塊,如一個全為零的塊,則使用一種特殊的CTT格式,稱為通用行格式。在這種格式中,壓縮數據全部存放在CTT項中,代替了四個地址指針。因此,一個1KB的通用塊僅佔用物理內存中的16位元組,其壓縮比率達到64:1。

壓縮內存控制器中有一系列的寄存器用於監控物理內存使用。Sectors Used Register(SUR)向操作系統報告壓縮內存的使用情況。The Sectors Used Threshold Registers,SUTHR和SUTLR,用於設置內存耗盡情況的中斷入口點。SUTLR寄存器是PCI中斷電路INTA的入口,而SUTHR寄存器是NMI中斷的入口。當SUR超過了SUTLR的值,內存控制器產生一個中斷,則操作系統採取措施來阻止內存消耗。

在實際地址到物理地址的轉換中,一個有用的方法是快速頁操作。它允許控制器僅修改CTT項的四個指針,從而將4KB的頁面內容換出或清空。快速頁操作通過將與4KB頁面相關的CTT項全部修改通用行格式(即全為零),從而將這4KB頁面的內容全部清空。同樣,一對頁面可以通過交換它們相關的CTT項的區域指針來交換頁面內容。由於沒有大量的數據移動發生,快速頁面操作速度相當快。

壓縮內存控制器的壓縮/解壓功能是基於LempelZiv演算法來進行的,因此下一節將簡單介紹一下該演算法的思想。

3 內存壓縮演算法Lempel-Ziv

絕大多數的壓縮演算法,包括用得特別流行的Lempel-Ziv壓縮演算法家庭,都是基於對原子記錄(Token)字元串的完全重復檢測。這個演算法雖然不是最好的演算法,但是,Lempel-Ziv演算法強調的是演算法的簡單與取得高壓縮率的速率,因此它還是在內存壓縮中得到了廣泛的應用。

Lemple-Ziv演算法(簡稱LZ)是編碼時將一個位串分成片語,然後將數據流描述成一系列的對。每個對組成一個新的片語,它包含一個數字(前一個片語的標識)和一個位(被附加到前一個片語上)。這種編碼方式很龐大,可是一旦應用到適合的字元串,它就是相當有效率的編碼方式。下面舉例說明這種演算法是如何編碼的。

++表示連接(010++1=0101),U=0010001101是未被壓縮的字元串。C是壓縮後的字元串。P(x)表示片語數x。先看一下U=0010001101發現,它可以被寫為U=0++010001101,因此得到P(1)=P(0)++0。現在繼續將其寫為U=0++02++0001101,可得到P(2)=P(1)++1。現在我們已經將P(2)描述為上一片語和一個新的位的組合。下一步,U=0++01++00++01101,並得到P(3)=P(1)++0。現在我們注意到,有U=0++01+00+011++01,而P(4)=011=P(2)++1,最後得到P(5)=P(1)++1。運算的步驟如表1所列。

一旦創建了表1,就有了整個編碼的圖表。要創建Lempel-Ziv數據流,則依照公式創建對。如果公式是P(x)=P(A)++B,則每個對為(A++B)。因此P(1)=P(0)++0變為(00++0),P(2)=P(1)++0變為(01++0),依此類推,將所有這些對連接起來,就得到了最後的字元串,結果如表2所列。這樣,C就變成000011010101011,看來比U要長得多。但這里由於U的長度短,因此未能看出優勢,而且包含P(0)的公式都沒有壓縮,所以也引起了長度增加。

Lempel-Ziv字元串的解碼是很簡單的,就是抓住其中的對,對照表1進行重構。

表1 編碼過程

步 驟 值 公 式 U

0 - P(0) 0010001101
1 0 P(1)=P(0)++0 0++010001101
2 01 P(2)=P(1)++1 0++01++00++01101
3 00 P(3)=P(1)++0 0++01++00++01101
4 011 P(4)=P(2)++1 0++01++00++011++01
5 01 P(5)=P(1)++1 0++01++00++011++01

表2 如何創建編碼字元串

公 式 P(1)=P(0)++0 P(2)=P(1)++1 P(3)=P(1)++0 P(4)=P(2)++1 P(5)=P(1)++1
對 00++0=000 01++1=011 01++0=010 10=++1=101 01++1=011
C
000++011++010++101++011=000011010101011

4 操作系統對內存壓縮的支持

在壓縮內存系統中,內存大小指的是實際內存大小,它比物理內存大。在引導時,BIOS向操作系統報告的內存大小就比實際安裝的物理內存要大。例如,硬體原型安裝的是512MB的SDRAM,但BIOS向操作系統報告的內存大小為1GB。當應用程序數據以2:1或更高的比率壓縮時,實際內存的工作方式與一般操作系統的內存工作方式是相同的。但當應用程序以未壓縮數據來填充內存時(如一個zip文件不可能達到2:1的壓縮比率),由於一般的OS只看到實際地址空間,因此不能意識到物理內存已經耗盡。例如,一個操作系統的實際內存為1024MB,而牧師內存為512MB。這時實際內存已經分配了600MB,系統顯示還有424MB的空閑內存。但是由於已分配內存的壓縮率很低,此時物理內存的耗用已經接近512MB。如果再近一步地分配內存,那麼系統就會因為物理內存的耗盡而崩潰,盡管它仍然顯示還有424MB的空閑內存。這種情況下,必須由操作系統提供對壓縮內存進行管理的支持。

由於內存壓縮是一個比較新的概念,一般的情況作系統都沒有這樣的機制來區分實際地址和物理地址,也不能處理「物理內存耗盡」的情況。不過,只要對操作系統內核做一些小的改動或者在操作系統之上增加一個設備驅動程序,即可達到目的。

一般來說,要從以下幾方面對壓縮內存進行管理。

(1)監控物理內存使用情況

通過輪詢或中斷法,查看物理內存的使用情況,並在物理內存耗盡前給出警告。壓縮內存管理常式是通過壓縮內存控制器中的一些寄存器來實現對物理內存的監控。SUR報告物理內存的使用情況,SUTHR和SUTLR用於設置中斷臨界值。壓縮內存管理演算法是基於物理內存使用的四種狀態,分別為steady、acquire、danger和interrupt,其臨界值的關系是mc_th_acquire<mc_th_danger<mc_th_interrupt。

我們可以使用輪詢和中斷相結合的方法進行監控,並對物理內存使用的變化作出反應。通過時鍾中斷來驅動輪常式,該常式每10ms讀取一次SUR的值,並將它與系統設定的臨界值比較。當系統處於steady狀態時,不用採取任何行動;當使用超過mc_th_acquire,應該增加nr_rsrv_pages來限制內存分配,但這並未引起內存缺乏;當使用超過mc_th_danger,應該增加nr_rsrv_pages到引起內存缺乏,並導致頁面分配器和置換進程回收內存頁面,一旦進入到該狀態,物理內存管理常式會喚醒置換進程回收內存。

(2)回收內存以及清空空閑頁面內容以減少使用

以標準的Linux內核為例,操作系統中有兩具主要的變數來管理內存太少的情形。這兩個變數是nr_free_pages和struct freepages。為了檢測內存是否已耗盡,在分配內存前要進行檢查。

if(nr_free_pages<freepages.min){

/*內存太少,回收頁面*/

}

else

{/*可以進行分配*/

在內存壓縮系統中,通過增加一個新變數nr_rsrv_pages來完成此功能。這樣就使最小空閑頁面數量變為:freepages.min"=freepages.min+nr_rsrv_pages。

通過動態地調整nr_rsrv_pages變數,壓縮內存管理常式可以人為地造成內存缺乏的現象,從而引起置換進程回收頁面,此時會將調用進程暫時掛起。回收內存包含縮減各種緩沖,並將進程頁面置換到磁碟上。當頁面返回到空閑頁面池時,它們會被清零。我們可以使用前面提到的快速頁面操作來減少清空頁面操作所帶來的開銷。

(3)阻塞CPU周期以減少物理內存使用率

當物理內存使用超過監界值mc_th_interrupt,控制器就中斷處理器,nr_rsrv_pages進一步增加,然後CPU blocker就開始運行。我們在輪詢機制的基礎上還使用了中斷機制,因為中斷機制比輪詢機制更加快速。如果在10ms的間隔中,物理內存使用突然上升,硬體中斷會比輪詢常式更早檢測到這一情況。為了更加安全,我們使用CPUblocker來阻塞引起物理內存使用的進程。CPU blocker是空閑線程,它們可以使CPU空忙。由於頁面被置換到磁碟是以機器速度運行的,而物理內存使用卻可以以內存訪問速度運行,速度從而得到增加。當牧師內存使用持續增加,以至換頁也無法緩解時,進程需要被阻塞。我們就通過啟動CPUblocker來阻塞CPU周期直到換頁機制能有效地降低物理內存使用。CPUblocker不會阻塞中斷,而且每40ms它就會讓出CPU以免其它進程被餓死。

5 內存壓縮技術在嵌入式系統中的應用

嵌入式系統是一種特殊的計算機系統,它是一個更大的系統或設備的一部分。通常,一個嵌入式系統是駐留在單處理機底板上的,其應用程序存儲在ROM中。事實上,所有具有數字介面的設備——監視器、微波爐、VCRs、汽車等,都使用了嵌入式系統。一些嵌入式系統包含了操作系統,稱為嵌入式操作系統。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標准微處理器基本是一樣的,但和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性中,內存仍然是珍貴的資源,因此研究內存壓縮技術在嵌入式系統中的應用具有一定的價值。

內存壓縮的思想在一些嵌入式操作系統中,實際上已經得到了體現。例如在VxWorks中,當操作系統下載到目標機上時,其中一種方式是將引導程序和VxWorks映像都存放在ROM中。為了將其解壓後再從ROM拷貝到RAM。這種基於軟體的壓縮方式,可以節省ROM空間,但其引導過程相對較慢。

以上的內存壓縮技術在ROM中得到了應用,但對於RAM來講,基於軟體內存壓縮技術,由於其訪問壓縮數據可能造成的延遲和不確定性,會對嵌入式系統的實時性造成和。因此它與虛擬內存技術一樣,在嵌入式系統中未得到廣泛應用。

本文所介紹的內存壓縮系統是基於硬體的。在相同基準下,測試結果顯示出,該系統的運行速度比標准系統的運行速度快1.3倍。如果要實現相同大小的內存,採用內存壓縮系統的硬體費用比購買RAM的費用要低,而且內存越大,其節省的費用越多,可以達到一半的價錢。因此筆者認為在內存資源極其寶貴的嵌入式系統中,實現基於硬體的內存壓縮系統具有較大的價值。

結語

本文介紹的內存壓縮系統是基於專門的硬體支持,即L3高速緩沖和內存控制器。在目前大多數Pentium以上架構的硬體平台上,只需要對操作系統內核做一些小的屐,或者增加一個設備驅動及服務程序,即可完成此項功能。由於嵌入式系統對實時性的要求,基於硬體的內存壓縮技術可以在增大可用內存的同時不影響系統的實時性,其硬體費用相對RAM的價格更低,具有一定的實用價值。

『拾』 怎麼壓縮安卓運行內存

精簡系統應用,關閉後台自啟,隨時一鍵清理

熱點內容
shell腳本平方計算公式 發布:2024-04-26 23:29:26 瀏覽:186
比較實惠的雲伺服器 發布:2024-04-26 23:24:57 瀏覽:973
怎麼增加電腦緩存 發布:2024-04-26 23:23:46 瀏覽:450
android調試gdb 發布:2024-04-26 23:22:27 瀏覽:98
androidsocket服務 發布:2024-04-26 22:49:53 瀏覽:980
python編譯時加密 發布:2024-04-26 22:49:20 瀏覽:246
買車看哪些配置參數 發布:2024-04-26 22:45:50 瀏覽:835
linux顯示圖像 發布:2024-04-26 22:45:41 瀏覽:493
flash腳本格式 發布:2024-04-26 22:43:41 瀏覽:452
c語言求三位數 發布:2024-04-26 22:43:39 瀏覽:690