A. 如何創建任意大小的linux內存虛擬硬碟
您講的內存檔是英譯過來的:
即ramdisk,並非虛擬內存
大多數的Linux發行版本中,內存檔默認使用的是/dev/shm 路徑,文件系統類型為tmpfs
默認大小是內存實際的大小,這很符合實際的操作習慣,操作這個路徑就是對內存的操作。
我們可以重新設置這個內存檔的大小,或者建立新的內存檔,以加速一些特別的應用,例如squid的緩沖,dns的緩沖文件等等。
重設內存檔大小:
例如:
mount -o remount,size=3G /dev/shm
注意size的大小可以的單位是M\k\G
新建內存檔:
例如:
mkdir /usr/local/squid/var/cache
mount -t tmpfs -o size=3G,mode=0755 tmpfs /usr/local/squid/var/cache
注意重新設置內存檔後為了使用下次啟用生效必須寫到fstab文件中,一般linux是在/etc/fstab中。
B. 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,這樣是比較合理的。
C. 虛擬內存設置太大有什麼壞處嗎
虛擬內存設置太大沒有壞處。
虛擬內攜亂數存是計算機系統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲辯首在外部磁碟存儲器上,在需要時進行數據交換。
目前,大多數操作系統都使用了虛擬內存,如Windows家族的「虛擬內存」;Linux的「交換空間」等。
D. linux下如何進行虛擬內存的設置系統是centOS .
在終端中運行
fdisk
-l
查看哪個分區有空,然後運行
sudo
mkswap
/dev/sda
添加交換分區,頃告
sudo
swapon
/dev/sda啟用分區,
sudo
/dev/sda
swap
swap
defaults
0
0寫入啟動,
如果沒有空的分區,鏈行那就在較大的分區中設置交換文件
sudo
dd
if=/dev/zero
of=/swapfile1
bs=1024k
count=512
創建大小為512M的交換文件(512可以自己定義),
sudo
swapon
/swapfile1啟用交換文件
sudo
/swapfile1
swap
swap
defaults
0
0寫雀喚明入啟動
E. linux 設置虛擬內存Swap後,重啟後設置失效 怎麼處理
建議虛擬內存初始大小與渣扒最大值都設置為1536MB,設置相同數值是為了避免產生碎片,最好不要設置在C盤,設置在有足夠空間的盤。
怎樣設置虛擬內存:
(一)合理設置虛擬內存
虛擬內存的設定主要根據你的物理內存大小和電腦的用途來設定,在桌面上用滑鼠右擊「我的電腦」,選擇「屬性」,就可以看到內存了。根據微軟公司的建議,虛擬內存設為物理內存容量的1.5--3倍,例如512MB的內存,虛擬內存設定為768--1536MB;1G的內存,虛擬內存設定為1536--3072MB。也可讓Windows來自動分配管理虛擬內存,它能根據實際內存的使用情況,動態調整虛擬內存的大小。在虛擬內存設置頁面下方有一個推薦數值,如果確實不知道設置多少為最佳,建議虛擬內存就設為推薦的數值。虛擬內存有初始大小與最大值兩個數值,最好把初始大小和最大值設為相同,以避免系統頻繁改變頁面文件的大小,影響電腦運行。內存容量2GB或以上的,如果不運行大型文件或游戲,也可以關閉虛擬內存。
虛擬內存就是在你的物理內存不夠用時把一部分硬碟空間作為內存來使用,不過由於硬碟傳輸的速度要比內存傳輸速度慢的多,所以使用虛擬內存比物理內存效率要慢。個人實際需要的值應該自己多次調整為好。祥顫 設的太大會產生大量的碎片,嚴重影響系統速度,設的太小就不夠用,於是系統就會提示你虛擬內存太小。
(二)虛擬內存設置方法
右擊「我的電腦」選擇「屬性--高級--性能--設置--高級--虛擬內存--更改」,選擇虛擬內存所在的磁碟,然後在下邊單擊「自定義大小」 並輸入「初始大小」和「最大值」,最後按「設置」如宴昌按鈕,再確定即可。虛擬內存從C盤設置到其它磁碟的方法(如果在其它盤,設置方法一樣):右擊我的電腦--屬性--高級--性能設置--高級--虛擬內存更改--點選C盤--單選「無分頁文件」--「設置」,此時C盤旁的虛擬內存就消失了;然後選中D或F盤,單選「自定義大小」--在下面的「初始大小」和「最大值」兩個文本框中輸入數值--「設置」—確定--重啟電腦,便完成了設置。
虛擬內存最好不要與系統設在同一個磁碟內,內存是隨著使用而動態地變化,設在C盤就容易產生磁碟碎片,影響系統運行速度。所以,最好將虛擬內存設置在磁碟剩餘空間較大而又不常用的磁碟,如D、F,這樣可以避免系統在C盤進行頻繁的讀寫操作而影響系統速度。虛擬內存在一台電腦,只用設置一次,可設置在任何一個磁碟。
(三)減輕內存負擔:
1、打開的程序不可太多。如果同時打開的文檔過多或者運行的程序過多,就沒有足夠的內存運行其他程序,要關閉不用的程序和窗口。
2、自動運行的程序不可太多 。單擊「開始」--「運行」,鍵入「Msconfig」-「確定」,打開「系統配置實用程序」窗口,刪除不想自動載入的啟動項目
F. LINUX系統的內存管理知識詳解
內存是Linux內核所管理的最重要的資源之一。內存管理系統是操作系統中最為重要的部分,因為系統的物理內存總是少於系統所需要的內存數量。虛擬內存就是為了克服這個矛盾而採用的策略。系統的虛擬內存通過在各個進程之間共享內存而使系統看起來有多於實際內存的內存容量。Linux支持虛擬內存, 就是使用磁碟作為RAM的擴展,使可用內存相應地有效擴大。核心把當前不用的內存塊存到硬碟,騰出內存給其他目的。當原來的內容又要使用時,再讀回內存。以下就是我為大家整理到的詳細LINUX系統內存管理的知識,歡迎大家閱讀!!!
LINUX系統教程:內存管理的知識詳解
一、內存使用情況監測
(1)實時監控內存使用情況
在命令行使用「Free」命令可以監控內存使用情況
代碼如下:
#free
total used free shared buffers cached
Mem: 256024 192284 63740 0 10676 101004
-/+ buffers/cache: 80604 175420
Swap: 522072 0 522072
上面給出了一個256兆的RAM和512兆交換空間的系統情況。第三行輸出(Mem:)顯示物理內存。total列不顯示核心使用的物理內存(通常大約1MB)。used列顯示被使用的內存總額(第二行不計緩沖)。 free列顯示全部沒使用的內存。Shared列顯示多個進程共享的內存總額。Buffers列顯示磁碟緩存的當前大小。第五行(Swap:)對對換空間,顯示的信息類似上面。如果這行為全0,那麼沒使用對換空間。在預設的狀態下,free命令以千位元組(也就是1024位元組為單位)來顯示內存使用情況。可以使用—h參數以位元組為單位顯示內存使用情況,或者可以使用—m參數以兆位元組為單位顯示內存使用情況。還可以通過—s參數使用命令來不間斷地監視內存使用情況:
#free –b –s2
這個命令將會在終端窗口中連續不斷地報告內存的使用情況,每2秒鍾更新一次。
(2)組合watch與 free命令用來實時監控內存使用情況:
代碼如下:
#watch -n 2 -d free
Every 2.0s: free Fri Jul 6 06:06:12 2007
total used free shared buffers cached
Mem: 233356 218616 14740 0 5560 64784
-/+ buffers/cache: 148272 85084
Swap: 622584 6656 615928
watch命令會每兩秒執行 free一次,執行前會清除屏幕,在同樣位置顯示數據。因為 watch命令不會卷動屏幕,所以適合出長時間的監測內存使用率。可以使用 -n選項,控制執行的頻率;也可以利用 -d選項,讓命令將每次不同的地方顯示出來。Watch命令會一直執行,直到您按下 [Ctrl]-[C] 為止。
二、虛擬內存的概念
(1)Linux虛擬內存實現機制
Linux虛擬內存的實現需要六種機制的支持:地址映射機制、內存分配回收機制、緩存和刷新機制、請求頁機制、交換機制、內存共享機制。
首先內存管理程序通過映射機制把用戶程序的邏輯地址映射到物理地址,在用戶程序運行時如果發現程序中要用的虛地址沒有對應的物理內存時,就發出了請求頁要求;如果有空閑的內存可供分配,就請求分配內存(於是用到了內存的分配和回收),並把正在使用的物理頁記錄在緩存中(使用了緩存機制)。 如果沒有足夠的內存可供分配,那麼就調用交換機制,騰出一部分內存。另外在地址映射中要通過TLB(翻譯後援存儲器)來尋找物理頁;交換機制中也要用到交換緩存,並且把物理頁內容交換到交換文件中後也要修改頁表來映射文件地址。
(2)虛擬內存容量設定
也許有人告訴你,應該分配2倍於物理內存的虛擬內存,但這是個不固定的規律。如果你的物理保存比較小,可以這樣設定。如果你有1G物理內存或更多的話,可以縮小一下虛擬內存。Linux會把大量的內存用做Cache的,但在資源緊張時回收回.。你只要看到swap為0或者很小就可以放心了,因為內存放著不用才是最大的浪費。
三、使甩vmstat命令監視虛擬內存使用情況
vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。通常使用vmstat 5 5(表示在5秒時間內進行5次采樣)命令測試。將得到一個數據匯總它可以反映真正的系統情況。
代碼如下:
#vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 62792 3460 9116 88092 6 30 189 89 1061 569 17 28 54 2
0 0 62792 3400 9124 88092 0 0 0 14 884 434 4 14 81 0
0 0 62792 3400 9132 88092 0 0 0 14 877 424 4 15 81 0
1 0 62792 3400 9140 88092 0 0 0 14 868 418 6 20 74 0
1 0 62792 3400 9148 88092 0 0 0 15 847 400 9 25 67 0
vmstat命令輸出分成六個部分:
(1)進程procs:
r:在運行隊列中等待的進程數 。
b:在等待io的進程數 。
(2)內存memoy:
swpd:現時可用的交換內存(單位KB)。
free:空閑的內存(單位KB)。
buff: 緩沖去中的內存數(單位:KB)。
cache:被用來做為高速緩存的內存數(單位:KB)。
(3) swap交換頁面
si: 從磁碟交換到內存的交換頁數量,單位:KB/秒。
so: 從內存交換到磁碟的交換頁數量,單位:KB/秒。
(4) io塊設備:
bi: 發送到塊設備的塊數,單位:塊/秒。
bo: 從塊設備接收到的塊數,單位:塊/秒。
(5)system系統:
in: 每秒的中斷數,包括時鍾中斷。
cs: 每秒的環境(上下文)切換次數。
(6)cpu中央處理器:
cs:用戶進程使用的時間 。以百分比表示。
sy:系統進程使用的時間。 以百分比表示。
id:中央處理器的空閑時間 。以百分比表示。
如果 r經常大於 4 ,且id經常小於40,表示中央處理器的負荷很重。 如果bi,bo 長期不等於0,表示物理內存容量太小。
四、Linux 伺服器的內存泄露和回收內存的方法
1、內存泄漏的定義:
一般我們常說的內存泄漏是指堆內存的泄漏。堆內存是指程序從堆中分配的,大小任意的(內存塊的大小可以在程序運行期決定),使用完後必須顯示釋放的內存。應用程序一般使用malloc,realloc,new等函數從堆中分配到一塊內存,使用完後,程序必須負責相應的調用free或釋放該內存塊,否則,這塊內存就不能被再次使用,我們就說這塊內存泄漏了。
2、內存泄露的危害
從用戶使用程序的角度來看,內存泄漏本身不會產生什麼危害,作為一般的用戶,根本感覺不到內存泄漏的存在。真正有危害的`是內存泄漏的堆積,這會最終消耗盡系統所有的內存。從這個角度來說,一次性內存泄漏並沒有什麼危害,因為它不會堆積,而隱式內存泄漏危害性則非常大,因為較之於常發性和偶發性內存泄漏它更難被檢測到。存在內存泄漏問題的程序除了會佔用更多的內存外,還會使程序的性能急劇下降。對於伺服器而言,如果出現這種情況,即使系統不崩潰,也會嚴重影響使用。
3、內存泄露的檢測和回收
對於內存溢出之類的麻煩可能大家在編寫指針比較多的復雜的程序的時候就會遇到。在 Linux 或者 unix 下,C、C++語言是最使用工具。但是我們的 C++ 程序缺乏相應的手段來檢測內存信息,而只能使用 top 指令觀察進程的動態內存總額。而且程序退出時,我們無法獲知任何內存泄漏信息。
使用kill命令
使用Linux命令回收內存,我們可以使用Ps、Kill兩個命令檢測內存使用情況和進行回收。在使用超級用戶許可權時使用命令「Ps」,它會列出所有正在運行的程序名稱,和對應的進程號(PID)。Kill命令的工作原理是:向Linux操作系統的內核送出一個系統操作信號和程序的進程號(PID)。
應用例子:
為了高效率回收內存可以使用命令ps 參數v:
代碼如下:
[root@www ~]# ps v
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
2542 tty1 Ss+ 0:00 0 8 1627 428 0.1 /sbin/mingetty tty1
2543 tty2 Ss+ 0:00 0 8 1631 428 0.1 /sbin/mingetty tty2
2547 tty3 Ss+ 0:00 0 8 1631 432 0.1 /sbin/mingetty tty3
2548 tty4 Ss+ 0:00 0 8 1627 428 0.1 /sbin/mingetty tty4
2574 tty5 Ss+ 0:00 0 8 1631 432 0.1 /sbin/mingetty tty5
2587 tty6 Ss+ 0:00 0 8 1627 424 0.1 /sbin/mingetty tty6
2657 tty7 Ss+ 1:18 12 1710 29981 7040 3.0 /usr/bin/Xorg :0 -br -a
2670 pts/2 Ss 0:01 2 682 6213 1496 0.6 -bash
3008 pts/4 Ss 0:00 2 682 6221 1472 0.6 /bin/bash
3029 pts/4 S+ 0:00 2 32 1783 548 0.2 ping 192.168.1.12
3030 pts/2 R+ 0:00 2 73 5134 768 0.3 ps v
然後如果想回收Ping命令的內存的話,使用命令:
代碼如下:
# Kill -9 3029
使用工具軟體
Memprof是一個非常具有吸引力且非常易於使用的軟體,它由Red Hat的Owen Talyor創立。這個工具是用於GNOME前端的Boehm-Demers-Weiser垃圾回收器。這個工具直接就可以執行,並且其工作起來無需對源代碼進行任何修改。在程序執行時,這個工具會以圖形化的方式顯示內存的使用情況。
相關介紹:Linux
嚴格來講,Linux這個詞本身只表示Linux內核,但人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的操作系統。
Linux擁有以下特性:類似於Unix的基本思想,支持完全免費與自由傳播,完全兼容POSIX1.0標准,支持多用戶、多任務、有著良好的界面、支持多種平台。Linux 能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux有著許多不同的版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。
G. linux下如何進行虛擬內存的設置系統是centOS .
在終端中運行
fdisk -l
查看哪個分區有空,然後運行
sudo mkswap /dev/sda 添加交換分區,
sudo swapon /dev/sda啟用分區,
sudo /dev/sda swap swap defaults 0 0寫入啟動,
如果沒有空的分區,那就在較大的分區中跡攔罩姿鬧設置交換文件
sudo dd if=/dev/zero of=/swapfile1 bs=1024k count=512 創建大小為512M的交換文件(512可以自己衡猛定義),
sudo swapon /swapfile1啟用交換文件
sudo /swapfile1 swap swap defaults 0 0寫入啟動
H. linux設置開啟swap交換分區基本命令(虛擬內存)
linux設置開啟swap交換分區基本命令(虛擬內存)
在Linux系統下,我們要怎麼開啟swap交換分區,基本設置命令是什麼呢?下面為大家帶來最基本的配置命令,希望對大家有所幫助!
1.驗證不存在交換分區free-m
輸出如下:
Mem:99594747046142
-/+buffers/cache:758236
Swap:000
如果swap選項total是0則表示沒有交換分區,開始下一步
2.創建swap分區
使用dd命令選擇swap分區目錄以及大小,在此我們給他放到根目錄,創建的.是2G的虛擬內存,可以根據自己需要選擇大小。ddif=/dev/zeroof=/swapfilecount=2048bs=1M
接下來驗證根目錄是否存在swapfilels/|grepswapfile
不出意外的話你將會看到swapfile
3.激活swap分區
交換分區不會自動激活,你需要告訴伺服器如何格式化文件,使它作為一個有效的交換分區。
出於安全考慮,交交換區許可權設置成600
chmod600/swapfile
使用mkswap命令來設置交換文件:mkswap/swapfile
4.開啟swap分區swapon/swapfile
再次使用free-m查看內存使用情況,輸出如下:
Mem:184017548616231519
-/+buffers/cache:2101630
Swap:204702047
5.設置允許開機啟用swap分區sudovi/etc/fstab
在後面加上/swapfilenoneswapsw00
;I. llinux虛擬內存如何設置請高手指點
linux下虛擬內存是使用一個交換分區(燃團swap)來實現的,這一點不同於windows,在系統安裝時,建立swap分區就可以了段段頌。
如果沒有建的握鄭話,建議你空出一點硬碟空間,做出一個swap分區來,只需要百mb就可以。
J. Linux上的虛擬內存swap簡介
在Linux操作系統中,swap分區的作用相當於Windows系統下的虛擬內存。當物理內存不足時,將部分硬碟空間當內存使用,由於不是真正的內存,因此將其稱之為虛擬內存,它的目的就是為了解決內存不足的情況。
Linux操作系統中的swap可以分為兩種:一種是將某個物理磁碟分區作為swap,另一種是通過文件來實現swap。
既然配置swap對桌面系統有幫助,那麼配置多少大小的swap比較合適呢?下面是ubuntu給出的建議:
或者直接將swap設置為物理內存的2倍!
輸入命令 swapon -s 可以查看系統的swap信息,從下面的輸出可以看出,設置了一個大小為1G的虛擬內存。
重啟系統,再次執行 swapon -s 查看虛擬內存。
本文的測試環境為阿貝雲免費雲伺服器(https://www.abeiyun.com/),阿貝雲目前正在進行"免費虛擬主機"和「免費雲伺服器」體驗活動,感興趣的朋友可以試試。