數(shù)據(jù)庫服務器程序在運行起來之后,系統(tǒng)內存不足。
在系統(tǒng)監(jiān)控中發(fā)現(xiàn),當數(shù)據(jù)庫服務程序啟動后,占用了大量內存空間,導致系統(tǒng)的剩余的內存往往只有幾十MB。
在ubuntu系統(tǒng)中,swap空間就是虛擬內存,所以考慮在磁盤空間富余的目錄下設置虛擬內存swap文件,用來緩解內存不足的問題。
free -m 命令查看內存情況和swap分區(qū)大小
?? ? ? ? ? ? ? total ? ? ? ?used ? ? ? ?free ? ? ?shared ?buff/cache ? available
Mem: ? ? ? ? ? 3846 ? ? ? ? 254 ? ? ? ?3296 ? ? ? ? ? 4 ? ? ? ? 295 ? ? ? ?3557
Swap: ? ? ? ? ? ? 0 ? ? ? ? ? 0 ? ? ? ? ? 0
可以看到swap空間目前為0。
df -h 查看磁盤空間大小
云服務器一般默認禁止虛擬內存,我們可以通過 shell 快速開啟虛擬內存。
bs=1M count=4096
表示創(chuàng)建一個4G(1M*4096)大小的塊文件。
建立swap分區(qū)大小的標準一般為物理內存的兩倍,如果內存是4G,語句修改為:
count=8192
swappiness=0
表示最大限度使用物理內存,然后才是swap空間。
swappiness=100
表示積極的使用swap分區(qū),并且把內存上的數(shù)據(jù)及時的搬運到swap空間里面。
# 創(chuàng)建虛擬內存文件
cd / # 在根目錄下創(chuàng)建
dd if=/dev/zero of=/mnt/swap bs=1M count=8192
chmod 0600 /mnt/swap
mkswap /mnt/swap
swapon /mnt/swap
# 寫入自動掛載參數(shù)
if ! grep -q swap /etc/fstab; then
echo "/mnt/swap swap swap defaults 0 0" >> /etc/fstab
fi
# 設置虛擬內存使用率
if ! grep -q swappiness /etc/sysctl.conf; then
echo "vm.swappiness = 10" >> /etc/sysctl.conf
else
sed -i 's/vm.swappiness = 0/vm.swappiness = 10/' /etc/sysctl.conf
fi
# 使配置生效
sysctl -p
以上命令逐行執(zhí)行。
# 執(zhí)行命令檢驗是否操作成功
free -m
如果需要釋放的話
# 執(zhí)行命令后,刪除創(chuàng)建的swap目錄即可
sudo swapoff swapfile
我的操作過程截圖 供參考返回信息:
文章來源:http://www.zghlxwxcb.cn/news/detail-738495.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-738495.html
到了這里,關于Ubuntu 20.04設置虛擬內存 (交換內存swap)解決內存不足的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!