你好,游客 登錄 注冊 搜索
背景:
閱讀新聞

數據存儲內存管理:優化計算機內存

[日期:2019-09-03] 來源:企業網D1Net  作者:Sean Michael Kerner [字體: ]

大多數計算和存儲部署如今面臨的情況是,計算機內存空間都受到了上限的限制。現代系統的資源可能并不像內存那樣受到限制,但操作系統、應用程序和存儲設備總是需要采用更多的內存。但內存空間并不是無限的,在某些時候將會完全耗盡,這會導致系統不穩定或數據丟失。

 
自從現代IT出現以來,內存空間耗盡的挑戰已由多種功能進行處理,通常都歸入內存管理的內容,以下對內存管理的內容進行概述。
 
什么是內存管理?
 
內存管理就是要確保有盡可能多的可用內存空間來執行新的程序、數據和進程。由于現代操作系統的多個部分使用內存,因此內存分配和內存管理可以采取不同的形式。
 
•操作系統—Windows和Linux等操作系統可以利用物理內存和硬盤交換空間來管理可用內存的內存池。
 
•編程語言—C語言要求開發人員直接管理內存利用率,而其他語言(如Java和C#)則提供自動內存管理。
 
•應用程序—應用程序使用和管理內存,但通常受到基礎語言和操作系統定義的內存管理功能的限制。
 
•存儲內存管理—借助新的NVMe存儲驅動器,操作系統可以從更快的存儲驅動器中受益,以幫助擴展和實現更持久的內存管理形式。
 
 
為了有效處理,計算機的內存管理功能必須位于硬件和操作系統之間。
 
內存管理如何工作
 
內存管理是關于有限物理資源的分配和優化。例如,2GB RAM DIMM不能用作一大塊空間。而是使用存儲器分配技術將內存劃分成可用的存儲器高速緩存塊。
 
操作系統或應用程序中的內存管理策略通常涉及了解內存中可用的物理地址空間,并執行內存分配以從內存地址空間正確放置、移動、刪除進程。
 
內存地址的類型
 
操作系統中的靜態和動態內存分配鏈接到不同類型的內存地址。從根本上說,有兩種核心類型的內存地址:
 
•物理地址—是指系統內存中的存儲位置,標識為一組數字。
 
•邏輯地址—有時也稱為虛擬內存,邏輯地址是操作系統和應用程序訪問執行代碼的內容,作為物理地址空間的抽象。
 
內存管理單元(MMU)如何將虛擬地址轉換為物理地址?
 
計算系統內的存儲器管理單元(MMU)是將虛擬邏輯地址空間轉換為物理地址的核心硬件組件。存儲器管理單元(MMU)通常是物理硬件,有時也稱為分頁存儲器管理單元(PMMU)。
 
存儲器管理單元(MMU)將虛擬地址轉換為物理地址的過程稱為虛擬地址轉換,并使用頁面目錄指針表(PDPT)將一種地址類型轉換為另一種地址類型。
 
該過程直接與頁表分配相關聯,將一種地址類型匹配和管理到另一種地址類型。為了幫助加速虛擬地址轉換,有一種稱為轉換后備緩沖區(TLB)的緩存機制,它也是物理地址轉換過程的虛擬地址的一部分。
 
內存分配:靜態加載與動態加載
 
應用程序和數據可以通過多種不同方式加載到內存中,兩種核心方法是靜態加載和動態加載。
 
•靜態加載—代碼在執行之前加載到內存中。用于結構化編程語言,其中包括C語言。
 
•動態加載—根據需要將代碼加載到內存中。用于面向對象的編程語言,例如Java語言。
 
內存碎片
 
當在系統中分配內存時,并非所有可用內存總是以線性方式使用,這可能導致碎片化。
 
內存碎片有兩種核心類型:內部碎片和外部碎片
 
•內部碎片—內存分配給進程或應用程序,未使用、未分配或碎片化的內存。
 
•外部碎片—當分配內存然后釋放時,可能會有較小的內存剩余空間,留下不適合其他進程的內存漏洞或“碎片”。
 
分頁
 
在邏輯地址空間內,虛擬內存使用分頁進行劃分,這意味著它被分為固定的內存單元,稱為頁面。頁面可以具有不同的大小,具體取決于底層系統體系結構和操作系統。頁面管理過程可能非常復雜。
 
•有關如何在Linux中處理分頁的更多信息,需要查看完整的kernel.org文檔。
 
•而對于Windows系統,微軟公司提供了有關其分頁過程的詳細信息。
 
分段
 
系統的主存儲器內的存儲器分段是引用存儲器單元內特定位的復雜過程。
 
系統內存中的每個段都有自己的地址,以便改進優化和內存分配。分段寄存器是現代系統處理內存分段的主要機制。
 
交換
 
交換是操作系統從存儲設備中請求額外內存的過程。
 
交換如何工作是操作系統定義用作“交換空間”的存儲區域,即存儲空間,存儲過程將被存儲并在物理和虛擬內存空間耗盡、釋放和回收時運行。交換空間與傳統存儲的使用是擴展可用內存的次優方法,因為它會產生與物理內存之間傳輸的開銷。此外,傳統存儲設備以較慢的接口速度運行內存。
 
然而,現在正在重新考慮交換,以便通過更快的PCIe SSD硬盤來擴展內存,其提供高達16GB/s的接口連接速度。相比之下,SATA連接的SSD硬盤的最大連接速度為6.0GB/s。
 
為什么需要內存管理?
 
內存管理是所有現代計算系統的基本元素。隨著虛擬化的持續使用和優化資源利用的需要,內存不斷地被分配、刪除、分段、使用和重新使用。使用內存管理技術,可以減少可能導致系統和應用程序不穩定和故障的內存管理錯誤。
 
優勢
 
•最大限度地提高程序的內存可用性;
 
•允許重復使用和回收未主動使用的內存;
 
•可以通過交換幫助擴展可用的物理內存。
 
缺點
 
•可能導致內存資源碎片化;
 
•增加了系統操作的復雜性;
 
•引入潛在的性能延遲。
收藏 推薦 打印 | 錄入:admin | 閱讀:
本文評論   查看全部評論 (0)
表情: 表情 姓名: 字數
點評:
       
評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
草莓视频黄下载,草莓视频黄下载apP,草莓视频免费安装下载软件,草莓视频免费无限看污app