當前位置:首頁 » 存儲配置 » linux虛擬存儲器

linux虛擬存儲器

發布時間: 2022-03-06 14:36:33

linux里查看虛擬內存的命令是什麼

free -m最後一排的swap就是虛擬內存

㈡ linux 虛擬內存 是什麼

和windows下的虛擬內存是一個概念啊,是內存不夠用時,把硬碟的空間拿來當內存用嘍,用以提高計算機的性能。

㈢ 什麼是虛擬存儲

虛擬存儲器是計算機系統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁碟存儲器上,在需要時進行數據交換。目前,大多數操作系統都使用了虛擬內存,如Windows家族的「虛擬內存」;Linux的「交換空間」等。

㈣ linux虛擬內存有什麼作用

linux下的vm(虛擬內存)和windows下的作用是一樣的,均是防止真實內存資源不足准備的.
linux的vm相關參數介紹

1. 保證linux有足夠的物理內存,可以調整vm的如下參數

vm.min_free_kbytes=409600;//默認值是3797,保證物理內存有足夠空閑空間,防止突發性換頁

vm.vfs_cache_pressure=200;//默認是100,增大這個參數設置了虛擬內存回收directory和i-node緩沖的傾向,這個值越大。越易回收

vm.swappiness=40 //預設60,減少這個參數會使系統盡快通過swapout不使用的進程資源來釋放更多的物理內存

一般在rac的配置環境中配置這三個參數,可以防止換頁引起節點短暫無響應,導致節點重啟

2. 改善io系統的性能

overcommit_memory = 0
vm.overcommit_ratio = 10 //默認值是50,用於虛擬內存的物理內存的百分比

vm.dirty_ratio = 20 //默認值是40,為了保持穩定,持續的寫入,把這個值調整的小一些,經驗值是20

vm.dirty_background_ratio //預設數值是500,也就是5秒,如果系統要求穩定持續的寫,可以適當降低該值,把峰值的寫操作平均多次,也避免宕機丟失更多的數據

vm.dirty_expire_centisecs //預設是3000,也就是30秒,如果系統寫操作壓力很大,可以適當減小該值,但也不要太小;建議設置為 1500

vm的相關參數在/proc/sys目錄下

相關命令

sysctl -p //修改vm參數後,運行這個命令可以立即生效
sysctl -a //查看所有的vm參數

與磁碟IO子系統有關的

/proc/sys/vm/dirty_ratio
這個參數控制文件系統的文件系統寫緩沖區的大小,單位是百分比,表示系統內存的百分比,
表示當寫緩沖使用到系統內存多少的時候,開始向磁碟寫出數據。增大之會使用更多系統內
存用於磁碟寫緩沖,也可以極大提高系統的寫性能。但是,當你需要持續、恆定的寫入場合
時,應該降低其數值,一般啟動上預設是 10。下面是增大的方法:

echo '40' > /proc/sys/vm/dirty_ratio

/proc/sys/vm/dirty_background_ratio
這個參數控制文件系統的pdflush進程,在何時刷新磁碟。單位是百分比,表示系統內存的百
分比,意思是當寫緩沖使用到系統內存多少的時候,pdflush開始向磁碟寫出數據。增大之會
使用更多系統內存用於磁碟寫緩沖,也可以極大提高系統的寫性能。但是,當你需要持續、恆
定的寫入場合時,應該降低其數值,一般啟動上預設是 5。下面是增大的方法:

echo '20' > /proc/sys/vm/dirty_background_ratio

/proc/sys/vm/dirty_writeback_centisecs
這個參數控制內核的臟數據刷新進程pdflush的運行間隔。單位是 1/100 秒。預設數值是500,
也就是 5 秒。如果你的系統是持續地寫入動作,那麼實際上還是降低這個數值比較好,這樣可
以把尖峰的寫操作削平成多次寫操作。設置方法如下:

echo "200" > /proc/sys/vm/dirty_writeback_centisecs

如果你的系統是短期地尖峰式的寫操作,並且寫入數據不大(幾十M/次)且內存有比較多富裕,那麼應該增大此數值:

echo "1000" > /proc/sys/vm/dirty_writeback_centisecs

/proc/sys/vm/dirty_expire_centisecs
這個參數聲明Linux內核寫緩沖區裡面的數據多「舊」了之後,pdflush進程就開始考慮寫到磁碟中去。
單位是 1/100秒。預設是 3000,也就是 30 秒的數據就算舊了,將會刷新磁碟。對於特別重載的寫
操作來說,這個值適當縮小也是好的,但也不能縮小太多,因為縮小太多也會導致IO提高太快。建
議設置為 1500,也就是15秒算舊。

echo "1500" > /proc/sys/vm/dirty_expire_centisecs

當然,如果你的系統內存比較大,並且寫入模式是間歇式的,並且每次寫入的數據不大(比如幾十M),
那麼這個值還是大些的好。

與網路IO子系統有關的

/proc/sys/net/ipv4/tcp_retrans_collapse
這個參數控制TCP雙方Window協商出現錯誤的時候的一些重傳的行為。但是在老的2.6的核
(<2.6.18)里頭,這個重傳會導致kernel oops,kernel panic,所以,如果出現有
tcp_retrans_*樣子的kernel panic,可以把這個參數給設置成0:

echo '0' > /proc/sys/net/ipv4/tcp_retrans_collapse

提高Linux應對短連接的負載能力
在存在大量短連接的情況下,Linux的TCP棧一般都會生成大量的 TIME_WAIT 狀態的socket。
你可以用下面的命令看到:

netstat -ant| grep -i time_wait

有時候,這個數目是驚人的:

netstat -ant|grep -i time_wait |wc -l

可能會超過三四萬。這個時候,我們需要修改 linux kernel 的 tcp time wait的時間,縮短之,
有個 sysctl 參數貌似可以使用,它是 /proc/sys/net/ipv4/tcp_fin_timeout,預設值是 60,
也就是60秒,很多網上的資料都說將這個數值設置低一些就可以減少netstat 裡面的TIME_WAIT狀態,
但是這個說法是錯誤的。經過認真閱讀Linux的內核源代碼,我們發現這個數值其實是輸出用的,
修改之後並沒有真正的讀回內核中進行使用,而內核中真正管用的是一個宏定義,在
$KERNEL/include/net/tcp.h裡面,有下面的行:

#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT
* state, about 60 seconds */

而這個宏是真正控制 TCP TIME_WAIT 狀態的超時時間的。如果我們希望減少 TIME_WAIT 狀態的數目
(從而節省一點點內核操作時間),那麼可以把這個數值設置低一些,根據我們的測試,設置為 10
秒比較合適,也就是把上面的修改為:

#define TCP_TIMEWAIT_LEN (10*HZ) /* how long to wait to destroy TIME-WAIT
* state, about 60 seconds */

然後重新編譯內核,重啟系統即可發現短連接造成的TIME_WAIT狀態大大減少:

netstat -ant | grep -i time_wait |wc -l

一般情況都可以至少減少2/3。也能相應提高系統應對短連接的速度。

/proc/irq/{number}/smp_affinity
在多 CPU 的環境中,還有一個中斷平衡的問題,比如,網卡中斷會教給哪個 CPU 處理,
這個參數控制哪些 CPU 可以綁定 IRQ 中斷。其中的 {number} 是對應設備的中斷編號,
可以用下面的命令找出:

cat /proc/interrupt

比如,一般 eth0 的 IRQ 編號是 16,所以控制 eth0 中斷綁定的 /proc 文件名是
/proc/irq/16/smp_affinity。上面這個命令還可以看到某些中斷對應的CPU處理的次數,
預設的時候肯定是不平衡的。

設置其值的方法很簡單,smp_affinity 自身是一個位掩碼(bitmask),特定的位對應特
定的 CPU,這樣,01 就意味著只有第一個 CPU 可以處理對應的中斷,而 0f(0x1111)
意味著四個 CPU 都會參與中斷處理。

幾乎所有外設都有這個參數設置,可以關注一下。

這個數值的推薦設置,其實在很大程度上,讓專門的CPU處理專門的中斷是效率最高的,比如,
給磁碟IO一個CPU,給網卡一個CPU,這樣是比較合理的。

㈤ linux操作系統虛擬存儲器概述的一道題!解答 謝謝!

寫程序太麻煩了!大概講講吧,你再看看書。

FIFO:
依次調入1234,佔用全部內存,再調入21時不出現缺頁(內存映象為:1234)
調入5時產生缺頁,因為1最先被調入,因此1被釋放同時把5調入(內存映象:5234);同理,調入第6頁也是如此(內存映象:5634)
再調21時,34被釋放,內在映象5621,依此類推即可。

LRU:
依次調入1234,佔用全部內存,再調入21時不出現缺頁(內存映象為:1234)
調入5時產生缺頁,因為3和4最近最少使用,因此3或4都有可能被釋放(和程序設計有關),但只有一個被釋放,這里假定3被釋放,5被調入(內存映象:1254)
調入6時產生缺頁,因為4最近最少使用,因此4被釋放,6被調入(內存映象:1256)
這里調入212不會出現缺頁,再調入3時,其情形同前調入5時的情況一樣。
可以看到:FIFO出現缺頁的次數比LRU多得多,但FIFO實現很簡單並且佔用資源少,各有特色,不能一概而論。

㈥ linux 如何釋放虛擬內存

swap釋放:
用swapoff -a 關閉虛擬內存(釋放)
再用swapon -a 打開虛擬內存
註:swapon / swapoff 必須要root許可權才能使用

㈦ linux中查看虛擬內存和cpu佔用率的命令是什麼

top,free,cat/proc/meminfo,cat/proc/cpuinfo。

[root@centerlisdbproc]#dmidecode|grep-A16"MemoryDevice"|more[objectObject]。

查看內存使用情況:cat/proc/meminfo,查看CPU使用情況:cat /proc/cpuinfo。

在系統維護的過程中,隨時可能有需要查看 CPU 使用率,並根據相應信息分析系統狀況的需要。在 CentOS 中,可以通過 top 命令來查看 CPU 使用狀況。

運行 top 命令後,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運行中敲 q 鍵一次)。

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。

可以直接使用top命令後,查看%MEM的內容。可以選擇按進程查看或者按用戶查看,如想查看oracle用戶的進程內存使用情況的話可以使用如下的命令:$ top -u oracle。

(7)linux虛擬存儲器擴展閱讀:

一、查看內存佔用:

1、free

# free -m。

以MB為單位顯示內存使用情況。

# free -h。

以GB為單位顯示內存使用情況。

# free -t。

以總和的形式查詢內存的使用信息。

# free -s 5。

周期性的查詢內存使用信息。

每5秒執行一次命令。

二、查看CPU使用情況:

1、top。

top後鍵入P看一下誰佔用最大。

# top -d 5。

周期性的查詢CPU使用信息。

每5秒刷新一次。

2、ps auxw(查看本機的進程所佔cpu和mem的百分比情況)。

使用"ps auxw" 可以查看到本機的進程所佔cpu和mem的百分比情況。

# ps auxw | head -1

%CPU 進程的cpu佔用率。

%MEM 進程的內存佔用率。

3、查看本機所有進程的CPU佔比之和。

# cat cpu_per.sh

三、查看cpu信息(信息記錄在/proc/cpuinfo中)

# 總核數 = 物理CPU個數 X 每顆物理CPU的核數。

# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數。



㈧ linux 的虛擬內存是什麼怎麼用我可以把虛擬內存當內存用嗎

通俗的說就是你內存條容量不夠用了,系統就劃出硬碟的一部分空間當做虛擬運存!但是運行速度慢!
手動設置虛擬內存大小:
①用右鍵點擊桌面上的「我的電腦」圖標,在出現的右鍵菜單中選「屬性」選項打開「系統屬性」窗口。在窗口中點擊「高級」選項卡,出現高級設置的對話框
②點擊「性能」區域的「設置」按鈕,在出現的「性能選項」窗口中選擇「高級」選項卡,打開其對話框。
③在該對話框中可看到關於虛擬內存的區域,點擊「更改」按鈕進入「虛擬內存」的設置窗口。選擇一個有較大空閑容量的分區,勾選「自定義大小」前的復選框,將具體數值填入「初始大小」、「最大值」欄中,而後依次點擊「設置→確定」按鈕即可,最後重新啟動計算機使虛擬內存設置生效

㈨ linux 什麼時候用的虛擬內存

一般Linux系統的SWAP虛擬內存只有當物理內存長時間占滿的時候才會使用,一般設置成物理內存的1-2倍就可以,實際上來講如果伺服器的IO操作不頻繁的話很少會用到虛擬內存哦,如果您是CENTOS7或者RHEL7的系統,創建方法推薦看下《Linux就該這么學》的第一章與第四章,有時間看看吧~有詳細的講到哦~

㈩ linux裡面虛擬內存和swap有什麼區別

為了提高磁碟存取效率, Linux做了一些精心的設計, 除了對dentry進行緩存(用於VFS,加速文件路徑名到inode的轉換), 還採取了兩種主要Cache方式:Buffer Cache和Page Cache.前者針對磁碟塊的讀寫,後者針對文件inode的讀寫.這些Cache有效縮短了I/O系統調用(比如 read,write,getdents)的時間.
內存活動基本上可以用3個數字來量化:活動虛擬內存總量,交換(swapping)率和調頁(paging)率.其中第一個數字表明內存的總需求量,後兩個數字表示那些內存中有多少比例正處在使用之中.目標是減少內存活動或增加內存量,直到調頁率保持在一個可以接受的水平上為止.
活動虛擬內存的總量(VM)=實際內存大小(size of real memory)(物理內存)+使用的交換空間大小(amount of swap space used)
當程序運行需要的內存大於物理內存時,Linux系統採用了調頁機制,即系統一些內存中的頁面到磁碟上,騰出來空間供進程使用。
大多數系統可以忍受偶爾的調頁,但是頻繁的調頁會使系統性能急劇下降。
Linux內存管理:Linux系統通過2種方法進行內存管理,「調頁演算法」,「交換技術」。
調頁演算法是將內存中最近不常使用的頁面換到磁碟上,把常使用的頁面(活動頁面)保留在內存中供進程使用。
交換技術是系統將整個進程,而不是部分頁面,全部換到磁碟上。正常情況下,系統會發生一些交換過程。
當內存嚴重不足時,系統會頻繁使用調頁和交換,這增加了磁碟I/O的負載。進一步降低了系統對作業的執行速度,即系統I/O資源問題又會影響到內存資源的分配。
Linux的虛擬內存是一個十分復雜的子系統,它實現了進程間代碼與數據共享機制的透明性,並能夠分配比系統現有物理內存更多的內存,某些操作系統的虛存甚至能通過提供緩存功能影響到文件系統的性能,各種風格的Linux的虛存的實現方式區別很大,但都離不開下面的4個概念。

1:實際內存
實際內存是指一個系統中實際存在的物理內存,稱為RAM。實際內存是存儲臨時數據最快最有效的方式,因此必須盡可能地分配給應用程序,現在的RAM的形式有多種:SIMM、DIMM、Rambus、DDR等,很多RAM都可以使用糾錯機制(ECC)。
2:交換空間
交換空間是專門用於臨時存儲內存的一塊磁碟空間,通常在頁面調度和交換進程數據時使用,通常推薦交換空間的大小應該是物理內存的二到四倍。
3:頁面調度
頁面調度是指從磁碟向內存傳輸數據,以及相反的過程,這個過程之所以被稱為頁面調度,是因為Linux內存被平均劃分成大小相等的頁面;通常頁面大小為 4KB和8KB(在Solaris中可以用pagesize命令查看)。當可執行程序開始運行時,它的映象會一頁一頁地從磁碟中換入,與此類似,當某些內存在一段時間內空閑,就可以把它們換出到交換空間中,這樣就可以把空閑的RAM交給其他需要它的程序使用。
4:交換
頁面調度通常容易和交換的概念混淆,頁面調度是指把一個進程所佔內存的空閑部分傳輸到磁碟上,而交換是指當系統中實際的內存已不夠滿足新的分配需求時,把整個進程傳輸到磁碟上,交換活動通常意味著內存不足。
vmstat監視內存性能:該命令用來檢查虛擬內存的統計信息,並可顯示有關進程狀態、空閑和交換空間、調頁、磁碟空間、CPU負載和交換,cache刷新以及中斷等方面的信息。

熱點內容
怎樣登陸ftp 發布:2025-02-02 07:44:44 瀏覽:631
瘋狂點擊腳本 發布:2025-02-02 07:38:10 瀏覽:72
pss演算法 發布:2025-02-02 07:30:55 瀏覽:747
發信息腳本 發布:2025-02-02 07:03:07 瀏覽:741
l2l3緩存 發布:2025-02-02 06:56:47 瀏覽:524
為什麼安卓下不了蟲蟲助手 發布:2025-02-02 06:46:47 瀏覽:45
ftp伺服器ui 發布:2025-02-02 06:24:15 瀏覽:103
wifi有多少種密碼 發布:2025-02-02 06:22:06 瀏覽:587
app賬號和密碼忘了怎麼辦啊 發布:2025-02-02 06:21:58 瀏覽:107
map訪問 發布:2025-02-02 06:09:07 瀏覽:825