成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于Linux系統安裝中Swap分區的解釋

系統 Linux
Swap分區,即交換區,Swap空間的作用可簡單描述為:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行 的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從 Swap中恢復保存的數據到內存中……

Swap分區,即交換區,Swap空間的作用可簡單描述為:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行 的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從 Swap中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。其實,Swap的調整對Linux服務器,特別是Web服務器 的性能至關重要。通過調整Swap,有時可以越過系統性能瓶頸,節省系統升級費用。

眾所周知,現代操作系統都實現了“虛擬內存”這一技術,不但在功能上突破了物理內存的限制,使程序可以操縱大于實際物理內存的空間,更重要的是,“虛擬內存”是隔離每個進程的安全保護網,使每個進程都不受其它程序的干擾。

計算機用戶會經常遇這種現象。例如,在使用Windows系統時,可以同時運行多個程序,當你切換到一個很長時間沒有理會的程序時,會聽到硬盤“嘩嘩” 直響。這是因為這個程序的內存被那些頻繁運行的程序給“偷走”了,放到了Swap區中。因此,一旦此程序被放置到前端,它就會從Swap區取回自己的數 據,將其放進內存,然后接著運行。

需要說明一點,并不是所有從物理內存中交換出來的數據都會被放到Swap中(如果這樣的話,Swap就會不堪重負),有相當一部分數據被直接交換到文件 系統。例如,有的程序會打開一些文件,對文件進行讀寫(其實每個程序都至少要打開一個文件,那就是運行程序本身),當需要將這些程序的內存空間交換出去 時,就沒有必要將文件部分的數據放到Swap空間中了,而可以直接將其放到文件里去。如果是讀文件操作,那么內存數據被直接釋放,不需要交換出來,因為下 次需要時,可直接從文件系統恢復;如果是寫文件,只需要將變化的數據保存到文件中,以便恢復。但是那些用malloc和new函數生成的對象的數據則不 同,它們需要Swap空間,因為它們在文件系統中沒有相應的“儲備”文件,因此被稱作“匿名”(Anonymous)內存數據。這類數據還包括堆棧中的一 些狀態和變量數據等。所以說,Swap空間是“匿名”數據的交換空間。

突破128M Swap限制

經常看到有些Linux(國內漢化版)安裝手冊上有這樣的說明:Swap空間不能超過128M。為什么會有這種說法?在說明“128M”這個數字的來歷之前,先給問題一個回答:現在根本不存在128M的限制!現在的限制是2G!

Swap空間是分頁的,每一頁的大小和內存頁的大小一樣,方便Swap空間和內存之間的數據交換。舊版本的Linux實現Swap空間時,用Swap空 間的***頁作為所有Swap空間頁的一個“位映射”(Bit map)。這就是說***頁的每一位,都對應著一頁Swap空間。如果這一位是1,表示此頁Swap可用;如果是0,表示此頁是壞塊,不能使用。這么說來, ***個Swap映射位應該是0,因為,***頁Swap是映射頁。另外,***10個映射位也被占用,用來表示Swap的版本(原來的版本是 Swap_space ,現在的版本是swapspace2)。那么,如果說一頁的大小為s,這種Swap的實現方法共能管理“8 * ( s - 10 ) - 1”個Swap頁。對于i386系統來說s=4096,則空間大小共為133890048,如果認為1 MB=2^20 Byte的話,大小正好為128M。

Swap配置對性能的影響

分配太多的Swap空間會浪費磁盤空間,而Swap空間太少,則系統會發生錯誤。

如果系統的物理內存用光了,系統就會跑得很慢,但仍能運行;如果Swap空間用光了,那么系統就會發生錯誤。例如,Web服務器能根據不同的請求數量衍 生出多個服務進程(或線程),如果Swap空間用完,則服務進程無法啟動,通常會出現“application is out of memory”的錯誤,嚴重時會造成服務進程的死鎖。因此Swap空間的分配是很重要的。

通常情況下,Swap空間應大于或等于物理內存的大小,最小不應小于64M,通常Swap空間的大小應是物理內存的2-2.5倍。但根據不同的應用,應 有不同的配置:如果是小的桌面系統,則只需要較小的Swap空間,而大的服務器系統則視情況不同需要不同大小的Swap空間。特別是數據庫服務器和Web 服務器,隨著訪問量的增加,對Swap空間的要求也會增加,具體配置參見各服務器產品的說明。

另外,Swap分區的數量對性能也有很大的影響。因為Swap交換的操作是磁盤IO的操作,如果有多個Swap交換區,Swap空間的分配會以輪流的方 式操作于所有的Swap,這樣會大大均衡IO的負載,加快Swap交換的速度。如果只有一個交換區,所有的交換操作會使交換區變得很忙,使系統大多數時間 處于等待狀態,效率很低。用性能監視工具就會發現,此時的CPU并不很忙,而系統卻慢。這說明,瓶頸在IO上,依靠提高CPU的速度是解決不了問題的。

建立一個有連續空間的空白文件

服務器的物理內存是512MB,按照1.5~2倍原則,我將swap文件設置為1GB。

  1. #root @aliyun :/srv# dd if=/dev/zero of=SWAPFILE bs=1024 count=1048576 1048576+0 records in 1048576+0 records out 1073741824 bytes (1.1 GB) copied, 59.7957 s, 18.0 MB/s  
  2. #root@aliyun :/srv# dd if=/dev/zero of=SWAPFILE bs=1024 count=1048576 
  3. 1048576+0 records in  
  4. 1048576+0 records out  
  5. 1073741824 bytes (1.1 GB) copied, 59.7957 s, 18.0 MB/s 

使用swap文件

使用swapon命令讓系統使用這個文件作為swap文件。但是這個文件不能直接使用,否則會報錯:

  1. root @aliyun :/srv# swapon swapfile swapon: /srv/swapfile: read swap header failed: Invalid argument  
  2. root@aliyun:/srv# swapon swapfile  
  3. swapon: /srv/swapfile: read swap header failed: Invalid argument  

必須先使用mkswap將文件格式化成swap格式(不知道為什么會少了4KB):

  1. root @aliyun :/srv# mkswap SWAPFILE 1048576 Setting up swapspace version 1, size = 1048572 KiB no label, UUID=1aaed031-33ef-479b-a9a4-2f008a7bbb2f  
  2. root@aliyun:/srv# mkswap SWAPFILE 1048576  
  3. Setting up swapspace version 1, size = 1048572 KiB  
  4. no label, UUID=1aaed031-33ef-479b-a9a4-2f008a7bbb2f  

使用格式化完畢的文件:

  1. root @aliyun :/srv# swapon SWAPFILE  
  2. root@aliyun:/srv# swapon SWAPFILE  

查看文件使用情況:

  1. root@aliyun:/srv# swapon -s Filename Type Size Used Priority /srv/SWAPFILE file 1048572 95852 -1  
  2. root@aliyun:/srv# swapon -s  
  3. Filename                                Type            Size    Used    Priority  
  4. /srv/SWAPFILE                           file            1048572 95852   -1  

加入自動啟用

為避免重啟后swapfile生效,可以將啟用swap的代碼加入啟動文件中,對于ubuntu server,編輯/etc/rc.local文件,加入以下內容(具體文件路徑自定):

  1. swapon /srv/SWAPFILE  
  2. swapon /srv/SWAPFILE  

或者

修改/etc/fstab文件,加入以下內容:

  1. /srv/SWAPFILE swap swap defaults 0 0  
  2. /srv/SWAPFILE   swap    swap    defaults        0       0  

 原文鏈接:http://my.oschina.net/renguijiayi/blog/299150

責任編輯:牛小雨 來源: 壬癸甲乙的博客
相關推薦

2010-05-24 12:27:48

swap分區

2017-08-15 11:00:33

LinuxSwap

2010-05-24 12:38:41

Swap分區

2009-12-14 13:35:16

LinuxSwapmount

2010-05-24 13:57:27

swap分區

2012-12-18 15:21:21

UbuntuSwap

2009-07-15 09:06:11

Linux圖形系統X11的CS架構

2012-07-02 15:26:19

Spring架構框架

2010-01-06 09:34:42

UbuntuLinux分區方案

2023-05-26 16:42:08

WindowsPython開發

2010-05-24 10:32:20

Linux swap

2010-05-24 13:13:25

Swap空間

2010-10-13 13:34:17

Linux系統分區

2010-05-24 13:22:37

Swap空間

2009-01-14 13:19:45

Ubuntu優化swap

2022-04-03 13:17:21

Linux黑話解釋GRUB

2009-12-17 17:19:45

Linux系統

2011-08-16 17:43:09

GoldenGate目

2010-05-14 16:57:31

MySQL 安裝備份

2010-01-11 10:15:47

wine安裝
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲午夜视频在线观看 | 在线播放一区二区三区 | 在线日韩中文字幕 | 国产日韩精品在线 | 欧美精品一区二区三区在线四季 | 国产精品永久久久久久久www | 久久精品99国产精品日本 | 欧美黑人一级爽快片淫片高清 | 国产一区二区精品在线观看 | 成人在线免费视频观看 | 91精品久久久久久久久久 | 免费精品久久久久久中文字幕 | 亚洲一区二区三区在线视频 | 欧一区| 国产a视频 | 丁香久久 | 国产成人精品一区二区三区视频 | www.久久.com | 99热成人在线 | 欧美片网站免费 | 成人网在线观看 | 亚洲精品v | h视频在线播放 | 爱爱免费视频网站 | 久久精品国产一区老色匹 | 日韩精品1区2区3区 国产精品国产成人国产三级 | 91高清免费观看 | 一级做受毛片免费大片 | 久久精品一区二区三区四区 | 亚洲人一区 | 黄色毛片在线看 | 日韩成人在线电影 | 在线观看国产www | 成人污污视频 | 欧美日韩中文字幕在线 | 欧美一区二区大片 | 国产精品久久久久久久久久久免费看 | 国产精品黄视频 | 欧美精品久久久久 | 国产精品免费播放 | 亚洲成人www |