Oracle Cloud でサーバを立てる:その1 メモリ編

このサイトは Oracle Cloud を使用してホストしています。
Oracle Cloud には無料で使用できるサーバがあり、それを使用している形になります(安いから)。
導入するにしたがってやったことを備忘録として記事にしていこうと思います。

メモリ少ない問題

まず、yum のアップデートを試みましたが、ここで問題が発生しました。
sudo yum update -y
上記コマンドを実行しても、しばらくして Killed になってしまいます。
調べると、メモリが小さいのが原因と思われるので、スワップファイルを増やすことにしました。

# free -t -h
               total        used        free      shared  buff/cache   available
Mem:           503Mi       182Mi       165Mi       0.0Ki       177Mi       321Mi
Swap:          502Mi       156Mi       346Mi
Total:         1.0Gi       338Mi       512Mi
# dd if=/dev/zero of=/var/swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 18.4546 s, 58.2 MB/s
# mkswap /var/swap
mkswap: /var/swap: insecure permissions 0644, fix with: chmod 0600 /var/swap
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=ef53324e-d5ac-4864-a221-e4e9b2f8539b
# swapon /var/swap
swapon: /var/swap: insecure permissions 0644, 0600 suggested.
# chmod 600 /var/swap
# swapon /var/swap
swapon: /var/swap: swapon failed: Device or resource busy
# swapon -s
Filename                                Type            Size            Used            Priority
/.swapfile                              file            515068          159556          -2
/var/swap                               file            1048572         0               -3
# swapoff -a
# swapon -s
# swapon /var/swap
# swapon -s
Filename                                Type            Size            Used            Priority
/var/swap                               file            1048572         0               -2
# free -t -h
               total        used        free      shared  buff/cache   available
Mem:           503Mi       319Mi        11Mi       3.0Mi       197Mi       183Mi
Swap:          1.0Gi          0B       1.0Gi
Total:         1.5Gi       319Mi       1.0Gi

swapon でスワップ領域を設定し、swapoff でスワップ領域を外しています。
既に設定済みの場合はDevice or resource busyでエラーになるみたいです。
上記の動作で 500MiB 程度から 1.0GiB 程度に大きくしました。
しかしこれでも update は終了せず……

# swapoff -a
# dd if=/dev/zero of=/.swapfile bs=4M count=1024
1024+0 records in
1024+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 83.422 s, 51.5 MB/s
# mkswap /.swapfile
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=53ed20a9-1a6c-4844-b306-437b10a3d5cb
# swapon /.swapfile
# swapon -s
Filename                                Type            Size            Used            Priority
/.swapfile                              file            4194300         0               -2
# free -t -h
               total        used        free      shared  buff/cache   available
Mem:           503Mi       324Mi        18Mi       3.0Mi       187Mi       179Mi
Swap:          4.0Gi          0B       4.0Gi
Total:         4.5Gi       324Mi       4.0Gi

4GiB のスワップファイルを作成して設定することでどうにか update が終了しました。
ついでにredditの情報をもとに、microdnf パッケージをインストールして、アップデートしてみました。
dnf キャッシュの自動更新も無効にしています。

dnf install microdnf
systemctl disable dnf-makecache.timer
microdnf update -y

今のところ問題なく動作しています。

参考:https://webbibouroku.com/Blog/Article/linux-swap
https://blog.freks.jp/create-swap-area/

コメントする