Help us understand the problem. What is going on with this article?

Ubuntu でスワップファイルを追加する方法 - Killed とか (x _ x)ひえー

More than 5 years have passed since last update.

同情するならサーバーをおくれ

お金も無くサーバーを借りるのも一苦労な日々を送っております。RubyなんてVMだけで50MBとかかかるから、512MBの借りてるサーバーだともう大変なんです。Apacheとかも動かしているからメモリが無いんです。四畳半でつつましく暮らしている感じです。

Amazon さんとかサーバー無料チケットとかくれないかなー |ω・`)チラ

動画をディプラして楽しめる仕組みが出来上がったら使わせてあげるから、AWSの無料クーポン1年分とかくれないかなー |ω・)チラ |ω・)チラ

Ubuntu はスワップが割り当てられて無いの

Rubyにするなよって言われそうなんですが、みんながつくったライブラリーとかそういうエコシステム的なものを活用させていただけることがありがたくて、ほんとみんなありがとう。

つくった処理をcronでまわしてたら、途中で止まってて、コマンドラインで実行したら途中で

Killed

って、

(x _ x)ひえー

これはOOM Killerというやつですか?良く知らないのですが。殺されちゃったんです。

$ top

したら、swap がゼロになってて、メモリも ruby が 30% とか取っててそれが二つとかあって、もうカツカツだったんです。で、念のためプロセスも確認すると

$ ps -elf | grep ruby

どう見ても、わたしの書いたスクリプトがばっちりメモリ使ってるんです。とにかくメモリを何とかしなきゃ(増やすという結論はありません)なので

GC.start

とか入れて、CPUの負担増やしてもメモリを無理やり解放しようと試みるも、最近のがーべっじコレクターなんてわたしより賢いんだから、効果なんて無いんです。CPU使用率が無駄に30%とか上がっただけでした。

Ubuntu でスワップファイルを追加しよう

スワップファイルつくろうということで、ググってみたらありましたありました。まずは

スワップ状態の確認

$ sudo cat /proc/swaps

スワップファイル作成

$ sudo mkdir /var/swap/
$ sudo dd if=/dev/zero of=/var/swap/swap0 bs=2M count=2048
$ sudo chmod 600 /var/swap/swap

2Mのブロックサイズのものを2048個つくるよ。借りてるサーバーのディスクが20GBしかなくて、最初間違えて 2M x 4096 って作りすぎてひえーってなりました。ディスクサイズを考えてスワップサイズは計画的にね。

スワップファイルをスワップに割り当て

sudo mkswap /var/swap/swap0
sudo swapon /var/swap/swap0

起動時にスワップファイルとして設定されるようにする

$ sudo vi /etc/fstab

/var/swap/swap0 swap swap defaults 0 0
↑を最終行に追加

参考サイト

Ubuntu スワップファイルの追加方法 - http://goo.gl/DyIkA3

scleen_x_x
是非フォローをお願いいたします。ruby/ubuntu/ffmpeg/node.js/Android 関連の投稿が主 ヽ(゚ー゚*ヽ)(ノ*゚ー゚)ノわぁい 。無所属新人。現在放浪・休憩中。動画コンテクストを分析して意味付け、面白さを解釈するエンジン(scleen)をつくってます。Deep-Learningの少し先です。自分が好きな動画が簡単に見つかるといいよね♪
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした