• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 增加 Swap 記憶體交換空間檔案教學與範例

介紹如何在 Linux 系統上以指令動態增加 swap 記憶體交換空間檔案,避免記憶體不足造成系統崩潰。

新增記憶體交換空間檔案

以 fallocate 指令配置一個準備作為記憶體交換空間(swap)的檔案:

# 建立交換空間用的檔案,大小為 1 GB
sudo fallocate -l 1G /swapfile

其中 -l 1G 是用來指定檔案的大小為 1 GB,可以自行更改為需要的大小,例如 256M 或 1T。

如果系統上沒有安裝 fallocate 指令,則可改用 dd 指令來配置檔案:

# 建立交換空間用的檔案,大小為 1 GB
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

作為系統的記憶體交換空間,檔案權限要設定為只有 root 才能存取:

# 設定檔案權限
sudo chmod 600 /swapfile

以 mkswap 指令將檔案設置為記憶體交換空間:

# 將檔案設置為記憶體交換空間(swap)
sudo mkswap /swapfile

以 swapon 啟用記憶體交換空間:

# 啟用記憶體交換空間
sudo swapon /swapfile

查看目前系統所有的記憶體交換空間使用狀況:

# 查看記憶體交換空間使用狀況
swapon -s

或是使用 free 查看整個系統的記憶體使用狀況:

# 查看記憶體使用狀況
free -h

在 /proc/meminfo 中有很詳細的記憶體資訊,其中也有包含交換空間的資料:

# 查看記憶體資訊
grep -i swap /proc/meminfo

設定開機自動掛載

若要將 /swapfile 這一個記憶體交換空間檔案設定為開機自動掛載,可以修改 /etc/fstab 設定檔,加入以下設定:

# 自動掛載 /swapfile 記憶體交換空間
/swapfile swap swap defaults 0 0

記憶體交換空間優先度

在 Linux 系統中有一個記憶體交換空間優先度(swappiness),捨設定的數值範圍是 0 到 100,這個數值如果越大,系統就會越傾向使用交換空間,反之如果這個數值越小,系統就會越避免使用交換空間。

這個數值存放在 /proc/sys/vm/swappiness 之中,可以直接查看其數值:

# 查看記憶體交換空間優先度(swappiness)
cat /proc/sys/vm/swappiness
60

若要修改這個數值,可以使用 sysctl 指令:

# 修改記憶體交換空間優先度為 10
sudo sysctl vm.swappiness=10

若要永久更改此設定值,可以將設定值寫在 /etc/sysctl.conf 設定檔之中:

# 設定記憶體交換空間優先度為 10
vm.swappiness=10

移除記憶體交換空間檔案

若要移除記憶體交換空間檔案,首先以 swapoff 停用記憶體交換空間:

# 停用記憶體交換空間
sudo swapoff -v /swapfile

若有在 /etc/fstab 中設定開機自動掛載的話,記得把設定移除。

最後刪除這個檔案:

# 刪除檔案
sudo rm /swapfile

這樣就完成移除記憶體交換空間檔案了。

參考資料:LINUX 技術手札、Linuxize、nixCraft

分類:Linux

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide