1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

oracle cloud infrastructure (OCI) のfree tier VM はswap前提だということ

Posted at

oracle cloud infrastructure (OCI) のfree tier VM はswap前提だということ

https://blog.osakana.net/archives/14799
https://qiita.com/kobe_creation/items/edc02329b40a2207842f

基本、お二方の記載の通りです。

oracle cloud infrastructure (OCI)というクラウドサービスが無料枠が大きくて素晴らしいです。特にひと月あたり6000 OCPU, 18000GB RAM相当までのインスタンスは無料ということで有名かと思います。
しかし、それ以外にも無料枠(always free)で0.5 UCPU, 1GB RAMのインスタンス2個が無料です。1GB RAMということでちょっと工夫が必要になったので備忘録も兼ねて残しておきます。

defaultのパッケージマネージャが機能しない

oracle linux 9で先述の0.5 OCPU, 1GB RAMのインスタンスを立てました。RHEL系なのでパッケージマネージャとしてdnfが入っているのですが、dnf installをすると高確率でCPU, メモリ使用率が爆増して、その後プロセス自体がkillされます。oci-cli(ociのインスタンスをCLIで開始したり停止したりいろいろできる)は、dnfを経由せずにinstallできましたが、gitはどうしても入りませんでした。
そこで、先人の知恵を拝借して、4GBのswap領域を確保したところ、dnf installができるようになりました。

作りかた

# スワップ領域として使用する4GBのファイルを作成
sudo dd if=/dev/zero of=/swapfile bs=1G count=4

ここが結構時間かかります。

# rootユーザーのみが読み書きできるように設定します。
sudo chmod 600 /swapfile
# 作成したファイルをスワップ領域として使えるようにフォーマットします。
sudo mkswap /swapfile

すると、こんな感じの出力がきます。

Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# スワップ有効化
sudo swapon /swapfile

# 永続化
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

確認方法:

sudo swapon --show

下記のように表示されれば成功です

NAME      TYPE      SIZE  USED PRIO
/swapfile file        4G    0B   -2

これをやっておくと、もっさりした動作ですがdnf installができるようになります。うれしい!

microdnf

AIによると、dnfの簡易バージョンでmicrodnfというのがあり、コンテナなどで使われているそうです。結局、microdnfがプリインストールされていなければ、通常のdnfでこいつをinstallする必要があるので、swapの使用は不可避と思います。一度installしてしまえば、dnfの代わりにこちらを使ってもいいと思います。実際installしてsudo microdnf installしてみましたが、問題なく動作しました(通常のdnfとどちらが速いかは比較していません)。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?