Apacheのメモリ使用量を確認する方法|Linux環境でのプロセス調査方法を解説
目次
スポンサードリンク
Apacheのメモリ使用量は、Webサーバーのパフォーマンスや安定性を維持するには重要な指標です。この記事では、プロセスごとのメモリ使用量を調査する方法を解説します。
psコマンドでメモリ使用量を確認する
psコマンドはLinuxのプロセス状況を確認するためのコマンドです。 ps コマンドの結果を Apacheのプロセスだけにフィルタリングすることで、コマンド実行時点のメモリ使用量を確認することができます。
基本的な構文は以下の通りです。OSの種類によってプロセスに含む名称が異なり、Ubuntu系OSでは apache、RHEL系OSやAmazon Linuxでは httpd とするとよいでしょう。
ps aux | grep httpd
または
ps aux | grep apache
以下はAmazon Linuxでの実行例です。メモリ使用量は左から4番目の%MEM、6番目のRSSを見ます。%MEM列は物理メモリの使用率、RSS列は実際に使っているメモリ使用量がKB単位で表示されます。
[ec2-user@ip-172-XX-XX-XX ~]$ ps aux | grep httpd
root 1615651 0.0 1.1 18448 11072 ? Ss May15 1:52 /usr/sbin/httpd -DFOREGROUND
apache 3431880 0.0 0.4 18444 4584 ? S Jun08 0:00 /usr/sbin/httpd -DFOREGROUND
apache 3431881 0.0 0.8 1086068 8132 ? Sl Jun08 0:33 /usr/sbin/httpd -DFOREGROUND
apache 3431882 0.0 0.8 1249972 8352 ? Sl Jun08 0:35 /usr/sbin/httpd -DFOREGROUND
apache 3431883 0.0 0.8 1086068 8448 ? Sl Jun08 0:32 /usr/sbin/httpd -DFOREGROUND
ec2-user 3592628 0.0 0.2 222316 2044 pts/0 S+ 03:08 0:00 grep --color=auto httpd
リアルタイムでメモリ消費状況を確認する
topコマンドと使うと、リアルタイムでメモリの使用量を確認することができます。以下コマンドは -u オプションで プロセスの実行ユーザーが apache のプロセスについて、プロセスの状況を表示しています。
[ec2-user@ip-172-XX-XX-XX ~]$ top -u apache
top - 03:11:55 up 46 days, 22:21, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 109 total, 1 running, 108 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 94.9 id, 0.0 wa, 0.0 hi, 0.0 si, 5.1 st
MiB Mem : 949.4 total, 69.8 free, 192.0 used, 687.6 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 604.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3431880 apache 20 0 18444 4584 2096 S 0.0 0.5 0:00.00 httpd
3431881 apache 20 0 1086068 8132 4728 S 0.0 0.8 0:33.34 httpd
3431882 apache 20 0 1249972 8352 4784 S 0.0 0.9 0:35.73 httpd
3431883 apache 20 0 1086068 8448 5260 S 0.0 0.9 0:32.06 httpd
Apacheの動作が重い・不安定という場合は、プロセスごとのメモリ使用量の把握が第一歩です。必要に応じて設定変更や再構成も検討しましょう。
ログ収集〜可視化について学べるおすすめ書籍
リンク