😆

Ubuntu 20.04で実メモリが足りなくてフリーズしてたのでswap領域を増やしたら快適になった

2024/03/06に公開

概要

メモリが足りなくてフリーズしてた。swap領域を増やしたら、フリーズしなくて快適になった。7-8GBぐらい使ってた。

問題

firefoxのsynced tabsの機能で他の32GBのPCで開いてた100個ぐらいのタブを、実メモリ16GBのUbuntu 20.04で開いたらフリーズした

解決方法

手法

df -h
free -m
ls /swap*
sudo swapoff /swapfile
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -m

ログ

chino@kafu:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.7G     0  7.7G   0% /dev
tmpfs           1.6G  2.7M  1.6G   1% /run
/dev/nvme0n1p5  366G  190G  158G  55% /
tmpfs           7.7G     0  7.7G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/loop0       64M   64M     0 100% /snap/core20/2105
/dev/loop1      128K  128K     0 100% /snap/bare/5
/dev/loop3      350M  350M     0 100% /snap/gnome-3-38-2004/143
/dev/loop2       64M   64M     0 100% /snap/core20/2182
/dev/loop4      497M  497M     0 100% /snap/gnome-42-2204/132
/dev/loop5       74M   74M     0 100% /snap/core22/864
/dev/loop6       41M   41M     0 100% /snap/snapd/20290
/dev/loop7       75M   75M     0 100% /snap/core22/1033
/dev/loop8       41M   41M     0 100% /snap/snapd/20671
/dev/loop13      92M   92M     0 100% /snap/gtk-common-themes/1535
/dev/loop9      497M  497M     0 100% /snap/gnome-42-2204/141
/dev/loop11      13M   13M     0 100% /snap/snap-store/959
/dev/loop12     350M  350M     0 100% /snap/gnome-3-38-2004/140
/dev/nvme0n1p1  256M   66M  191M  26% /boot/efi
tmpfs           1.6G   44K  1.6G   1% /run/user/1000
/dev/loop14      13M   13M     0 100% /snap/snap-store/1113
chino@kafu:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15712         591       13772         193        1347       14614
Swap:          2047         531        1516
chino@kafu:~$ ls /swap*
/swapfile
chino@kafu:~$ swapoff /swapfile
swapoff: Not superuser.
chino@kafu:~$ sudo fallocate -l 16G /swapfile
chino@kafu:~$ sudo chmod 600 /swapfile
chino@kafu:~$ sudo mkswap /swapfile
mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 16 GiB (17179865088 bytes)
no label, UUID=28fbd6f1-7c63-4f5d-aacc-090969e1ee13
chino@kafu:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15712        1018       13231         291        1463       14090
Swap:             0           0           0
chino@kafu:~$ sudo swapon /swapfile
chino@kafu:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15712        1029       13216         295        1466       14075
Swap:         16383           0       16383

まとめ

Ubuntu 20.04のswap領域のdefault設定だと2GBになっている。16GBに変更して、大量のタブを開いたときはメモリ一杯でswap領域を7-8GBを使っていた。足りないわけだ。これでフリーズせずに快適になった。昔のPCの設定を考えると実メモリの2倍(今回は実メモリ16GBなので32GB)を割り当てていたが、そこまでは必要なさそう。

参考

  1. よくある質問 - KAGOYA CLOUD VPS サポートサイト - ubuntuでswapを変更したい
  2. Ubuntu 20.04にスワップ領域を追加する方法 | DigitalOcean
  3. swap割り当てルール、やっぱりRAMの2倍? | スラド Slashdotに聞け
  4. swapは容量によってメモリ x 2 では無いみたい #centos7 - Qiita
  5. 第15章 swap 領域 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

Discussion