1. 程式人生 > >linux 如何增加swap分割槽,和刪除,移動swap

linux 如何增加swap分割槽,和刪除,移動swap

如何增加swap分割槽,和刪除,移動swap

由於我們在機器上添加了一條新記憶體,但是我按照swap容量是記憶體的1.5到2倍,但是現在不夠這個條件所以需要對swap進行擴容
1. 第一步建立一個適合的量的新的分割槽,或者檔案
+ 需要注意一點swap分割槽和普通分割槽不同,在建立的時候要知道一下swap屬性

    [[email protected] home]# fdisk /dev/sdc

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command '
c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (265-6527, default 265): Using default value 265 Last cylinder, +cylinders or +size{K,M,G} (265-6527, default 6527): +2G Command (m for help): h h: unknown command Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition'
s system id 更改系統分割槽ID u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): t 這個選項是更改系統分割槽ID Partition number (1-4): 3 Hex code (type L to list codes): 82 sawp分割槽ID是82,也可用L檢視所有分割槽ID號 Changed system type
of partition 3 to 82 (Linux swap / Solaris) Command (m for help): p Disk /dev/sdc: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x63783858 Device Boot Start End Blocks Id System /dev/sdc1 1 132 1060258+ 83 Linux /dev/sdc2 133 264 1060290 83 Linux /dev/sdc3 265 526 2104515 82 Linux swap / Solaris Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [[email protected] home]# [[email protected] home]# [[email protected] home]# echo $? 這個可以判斷是否有錯誤 0 [[email protected] home]#
  • 這樣我們的分割槽就建立好了,如果是老硬碟需要手動同步一下,6版本的系統用命令partx -a /dev/sdc,7版本的系統用partprobe 命令同步。建立完一定要檢查是否同步成功。
    1. 用mkswap 對剛剛建立的分割槽進行格式化和建立swap檔案系統
[[email protected] home]# mkswap /dev/sdc3
Setting up swapspace version 1, size = 2104508 KiB
no label, UUID=d0d47511-9cbb-4769-9430-6de164c74c62
[[email protected] home]# blkid
/dev/sdb1: UUID="5fccd8fb-8c38-43ec-8d90-ff39938a8a9c" TYPE="ext2" 
/dev/sda1: UUID="bbfd63dd-da18-4ac9-affd-4724c571db21" TYPE="ext4" 
/dev/sda2: UUID="03352018-7cef-4ee3-9a05-b0833b67da19" TYPE="ext4" 
/dev/sda3: UUID="0bd51fa6-f577-427a-b0b2-1cb8a631ac16" TYPE="ext4" 
/dev/sda5: UUID="a8c19a79-3c21-4aa4-a648-27a069f25bde" TYPE="swap" 
/dev/sdb2: UUID="aabdedfc-beb9-4c9c-83ab-4a18cd6b24d4" TYPE="ext4" 
/dev/sdb3: LABEL="guo" UUID="581409f1-1db6-4fb5-b999-6ce074d1cec2" TYPE="ext4" 
/ddc: UUID="7a786bc8-c075-4c9a-acad-f042415a6b04" TYPE="ext4" 
/dev/sdc3: UUID="d0d47511-9cbb-4769-9430-6de164c74c62" TYPE="swap" 
  1. 在/etc/fstab 配置檔案中新增對應的條目
UUID=d0d47511-9cbb-4769-9430-6de164c74c62       swap    swap    defaults        0       0
  1. 啟用swap分割槽
檢視一下現在的swap資訊
[[email protected] home]# free
             total       used       free     shared    buffers     cached
Mem:       2052688     424516    1628172       1284      24900     179200
-/+ buffers/cache:     220416    1832272
Swap:      2097148          0    2097148
從上面看到記憶體2G ,swap分割槽也2G.
現在啟用剛剛建立的swap分割槽
[[email protected] home]# swapon -a
[[email protected] home]# free -h
             total       used       free     shared    buffers     cached
Mem:          2.0G       416M       1.6G       1.3M        24M       175M
-/+ buffers/cache:       216M       1.7G
Swap:         4.0G         0B       4.0G
  1. 這樣就擴容成功,現在檢視一下swap分割槽詳細資訊
[[email protected] home]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       2097148 0       -1
/dev/sdc3                               partition       2104508 0       -2
  • priority 這是優先順序,越優先順序越大就優先使用,想要指定優先順序一定要先禁用swap 分割槽
[[email protected] home]# swapoff /dev/sdc3
[[email protected] home]# swapon -p 10 /dev/sdc3
[[email protected] home]# swapon -a
[[email protected] home]# swapon  -s
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       2097148 0       -1
/dev/sdc3                               partition       2104508 0       10

我們要在/etc/fstab 中defaults位置上新增pri=value

UUID=d0d47511-9cbb-4769-9430-6de164c74c62       swap    swap    pri=10  0       0
  • 如何生效,先把swap分割槽禁用,然後在啟用就生效了
  • 雖然swapon -p 命令是可以設定優先值的,但是這是臨時的機器重啟會消失。
[[email protected] ~]# swapoff /dev/sdc3
[[email protected] ~]# swapon -a
[[email protected] ~]# swapon -s        
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       2097148 0       -1
/dev/sdc3                               partition       2104508 0       10

如何刪除swap分割槽
1.首先確認沒有swap分割槽沒有被使用,如何被使用我們刪除分割槽會導致記憶體裡面的資料會丟失切記

[[email protected] home]# free -h
             total       used       free     shared    buffers     cached
Mem:          2.0G       416M       1.6G       1.3M        24M       175M
-/+ buffers/cache:       216M       1.7G
Swap:         4.0G         0B       4.0G
  1. 禁用要刪除的swap分割槽
[[email protected] ~]# swapoff /dev/sdc3
[[email protected] ~]# free
             total       used       free     shared    buffers     cached
Mem:       2038348     360052    1678296       1284      23780     128384
-/+ buffers/cache:     207888    1830460
Swap:      2097148          0    2097148
  1. 刪除/etc/fstab 對應行
  2. 刪除分割槽就好了

如果讓檔案變成swap分割槽,然後把它移動到別的磁碟

  1. 用dd命令建立一個檔案
[[email protected] app]# dd if=/dev/zero of=swapfile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 20.6218 s, 104 MB/s
[[email protected] app]# ls
4  456  lost+found  mnt  oo  swapfile  we 
  • 這一步相對於建立分割槽了
    1. 用mkswap 命令格式變成swap分割槽
[[email protected] app]# mkswap swapfile 
mkswap: swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=695dea75-3394-4932-8ddb-61806004aeea
[[email protected] app]# blkid swapfile 
swapfile: UUID="695dea75-3394-4932-8ddb-61806004aeea" TYPE="swap"
  1. 寫入/etc/fstab
/app/swapfile      swap    swap    defaults        0       0
  1. 啟用swap
[[email protected] app]# swapon -a
[[email protected] app]# free
             total       used       free     shared    buffers     cached
Mem:       2038348    1968472      69876       1288       6756    1703632
-/+ buffers/cache:     258084    1780264
Swap:      4194296          0    4194296
[[email protected] app]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       2097148 0       -1
/app/swapfile                           file            2097148 0       -2
  • 由於我們用的檔案當swap ,然而檔案的效能沒有真正磁碟分割槽效能好所以我們不要設優先順序。
    1. 遷移檔案swap分割槽到別的磁碟中
  • 確認現在沒有在使用swap,然後禁用swap分割槽
[[email protected] app]# free
             total       used       free     shared    buffers     cached
Mem:       2038348    1968596      69752       1288       6804    1703672
-/+ buffers/cache:     258120    1780228
Swap:      4194296          0    4194296
[[email protected] app]# swapoff swapfile 
[[email protected] app]# free
             total       used       free     shared    buffers     cached
Mem:       2038348    1967372      70976       1288       6812    1703672
-/+ buffers/cache:     256888    1781460
Swap:      2097148          0    2097148
  • 把swapfile檔案用cp命令複製別的磁碟
[[email protected] app]# cp -p swapfile /
[[email protected] app]# cd /
[[email protected] /]# ls
app  boot  dev  home  lib64       media  mnt  opt   root  selinux  swapfile  tmp  var
bin  ddc   etc  lib   lost+found  misc   net  proc  sbin  srv      sys       usr
  • 改配置檔案/etc/fstab
/swapfile       swap    swap    defaults        0       0
  • 然後在把原來檔案刪除就成功了。

相關推薦

linux 如何增加swap分割槽刪除移動swap

如何增加swap分割槽,和刪除,移動swap 由於我們在機器上添加了一條新記憶體,但是我按照swap容量是記憶體的1.5到2倍,但是現在不夠這個條件所以需要對swap進行擴容 1. 第一步建立一個適合的量的新的分割槽,或者檔案 + 需

鏈表插入刪除判斷鏈表是否為空求鏈表長度算法的鏈表排序算法演示——C語言描述

如果 回收站 data 再次 http span 自己 getc tchar 關於數據結構等的學習,以及學習算法的感想感悟,聽了郝斌老師的數據結構課程,其中他也提到了學習數據結構的或者算法的一些個人見解,我覺的很好,對我的幫助也是很大,算法本就是令人頭疼的問題,因為自己並沒

js添加元素刪除當前元素

eva for doc his con orm set lang () <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title&

Linux route命令詳解使用以及網卡命令詳解

linux 路由 網卡一 路由的基礎知識:1)路由概念路由: 跨越從源主機到目標主機的一個互聯網絡來轉發數據包的過程路由器:能夠將數據包轉發到正確的目的地,並在轉發過程中選擇最佳路徑的設備路由表:在路由器中維護的路由條目,路由器根據路由表做路徑選擇直連路由:當在路由器上配置了接口的IP地址,並且接口狀態為

Linux下的編輯器編譯器為什麼除錯的時候需要編譯選項中新增 -g. 同學們自行調研readelf命令原始碼安裝, rpm安裝, yum安裝

1、除了vim, 還有哪些常用的牛逼的編輯器, 並能夠橫向對比編輯器之間的區別和優缺點 vim是從vi發展出來的一個文字編輯器。程式碼補完、編譯錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。 sed是一種流編輯器,它一次處理一行內容。處理時,把

docker: 映象的儲存載入刪除方法

有時候 我們映象做好之後 想要把這個映象儲存起來,怎麼樣儲存呢 doker save -o 儲存到本地映象的名字 映象名稱 docker load –input 本地映象名字 (匯入映象) docker load < 本地映象名字 刪除映象 d

資料結構作業程式碼儲存-2.1 單向迴圈連結串列的建立插入刪除指標移動

在此感謝我親愛的大神同學們!一個Z妹子講情了思路,一個M妹子提供了更高階的雙向迴圈連結串列的程式碼借鑑(雖然有些還是沒怎麼看懂。。。 我的作業就完成啦!儲存程式碼當個紀念! 1,往操作位置順時針的下一位插入一個元素,並將操作位置移到新元素上。 2,刪掉操作位置順時針方

Linux學習-linux系統下安裝jdktomcat以及遇到的問題清單

安裝JDK 1. 在usr目錄下建立java安裝目錄 cd /usr mkdir java 3.解壓jdk到當前目錄 tar -zxvf jdk-8u60-linux-x64.tar.gz 得到資料夾 jdk1.8.0_60 4.編輯配置檔案,配置環境變數 vim /etc/pro

linux 下檢視系統資源負載以及效能監控

1,檢視磁碟  df -h  2,檢視記憶體大小  free  free [-m|g]按MB,GB顯示記憶體  vmstat 檢視虛擬記憶體 3,檢視cpu  cat /proc/cpuinfo  只看cpu數量grep "model name" /proc/cpuinfo

linux下檢視系統資源負載以及效能監控

1,檢視磁碟 df -h 2,檢視記憶體大小 free free [-m|g]按MB,GB顯示記憶體 vmstat 3,檢視cpu cat /proc/cpuinfo 只看cpu數量grep "model name" /proc/cpuinfo | wc

前端圖片上傳功能刪除可限制上傳張數可限制圖片的格式大小pc端移動端都通用。原生無依賴。

html部分: <div class="item"> <div class="title small_title">上傳專案圖片</div> <div class="contain_upload">

【代碼學習】角色添加權限的方法刪除再添加。而不是用修改這樣很方便。

方便 添加權限 public resource res bject void @override != @Overridepublic void addRoleResources(Resources[] resources, Long roleId) { Map<

Linux 查看進程刪除進程

表示 init wid borde -a 自動補全 當前 例如 輸入 基本命令講解 在 LINUX 命令平臺輸入 1-2 個字符後按 Tab 鍵會自動補全後面的部分(前提是要有這個東西,例如在裝了 tomcat 的前提下, 輸入 tomcat 的 to 按 tab)。 ps

CentOS7下swap分割槽建立(新增),刪除以及相關配置

  小叨下背景:筆者的伺服器記憶體只有1g,少得可憐。之前使用apache,不堪忍受其過量的記憶體消耗,網站卡得想哭,資料庫也不斷地崩,無奈投入nginx的懷抱並且已經喜歡上了nginx,具體請看上文《CentOS7部署輕量級web伺服器nginx+php》。     &nb

深入瞭解new的過程callapplybind的區別

話不多數,直接上程式碼 1 //1、new的過程發生了什麼 2 function create () { 3 //建立了一個物件 4 var obj = new Object() 5 //獲取建構函式 6

java redis通過key模糊刪除批量刪除批量查詢相關資料

  @RunWith(SpringRunner.class) @SpringBootTest public class RedisTest { @Autowired private StringRedisTemplate stringRedisTemplate; @Aut

Linux 指令碼實現批量新增刪除普通使用者

(1)Linux中用指令碼實現批量新增和刪除普通使用者 https://blog.csdn.net/qq_38038143/article/details/71655771 (2)Linux————Linux下批量建立使用者並設定密碼(shell指令碼) https://blog.csd

Linux下檢視使用者列表刪除使用者

我的Linux上面不知道添加了多少個賬戶,今天想清理一下: 一般情況下是 cat /etc/passwd 可以檢視所有使用者的列表 w 可以檢視當前活躍的使用者列表 cat /etc/group 檢視使用者組 但是這樣出來的結果一大堆,於是找到一個: cat /etc/passw

angular實現全選反選批量刪除刪除全不選倒序模糊查詢等功能

效果圖如下: html程式碼如下: <body ng-app="myApp" ng-controller="myCtrl"> <button ng-click="dx(seq)">倒序</button> <butto

jquery的資料增刪改查(全選反選全不選批量刪除新增資訊)

效果圖如下: html程式碼如下: <body> <div class="btn"> <button class="seleAll">全選</button> <button class="allDe