さくらのVPS 2GBで自作システムを3本動かしている|実測したら、要らないプロセスがアプリより食っていた

さくらのVPS 2Gプランで、自作の業務システムを3本動かしています。9日間連続稼働、ロードアベレージ0.20、メモリは7割が空いたままです。 測ってみて、想定外だったことがあります。アプリ3本が使っているのは約166MB。一方で、このサーバーでは働きようがないOSのデーモンが、合計50〜100MBを占めていました。 自分のアプリより、使う予定のない仕組みのほうが目立つ。プラン変更を考える前に、見るべき場所がありました。 測定条件 数字を出す記事なので、どういう状態で測ったかを先に書きます。 サーバー:さくらのVPS 2Gプラン / Ubuntu 24.04 LTS 測定時刻:平日15:57、業務時間内だがアクセスはほぼない状態 稼働日数:9日15時間(無停止) サンプル数:1回(vmstat のみ5秒間) したがって以下の数字はアイドルに近い状態のものです。ピーク時の値ではありません。負荷時の測定は別途行い、追記します。 動かしている3本 すべて自作の業務システムです。フロントには Caddy を置いています。 システム 構成 常駐メモリ(RSS) 反応計測システム FastAPI 0.141.1 / uvicorn 0.52.4 / SQLite 約66MB 基幹システム Python + gunicorn(-w 1 --threads 8 -t 120) 約65MB 仮想待合室 Go(静的リンクの単一バイナリ)/ 設定はJSON 約35MB 3本合計 約166MB Caddy リバースプロキシ / HTTPS 約23MB 3本とも 127.0.0.1 のポートで待ち受けていて、外部に直接は晒していません。Caddyが受けて振り分けています。 基幹システムは自社の業務用なので、フレームワークやデータ構造の詳細は伏せます。この記事で必要なのはメモリの数字だけなので、そこは支障ありません。 3本で166MBに収まっている理由 DBサーバーを1台も動かしていないからです。 systemctl list-units --type=service --state=running \ | grep -iE "postgres|mysql|maria|redis|mongo" # → 何も返らない PostgreSQLもMySQLもRedisも入っていません。反応計測システムはSQLiteのファイル1つ(data/dareyomi.db)で動いています。 ...

2026年9月3日 · 2 分