サーバーのメモリ使用量mysqlとapacheサーバー上のメモリ使用量は次のとおりです。pmapたとえば、出力によると、mysql約379Mを使用しており、277Mをapache使用しています。
[root@server ~]# pmap 10436 | grep total
total 379564K
[root@server ~]# pmap 10515 | grep total
total 277588K
これをの出力と比較するとtop、値がほぼ一致していることがわかります。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10515 apache 20 0 271m 32m 3132 S 0.0 6.6 0:00.73 /usr/sbin/httpd
10436 mysql 20 0 370m 21m 6188 S 0.0 4.3 0:06.07 /usr/libexec/mysqld --basedir=....
現在、これらの値は間違いなくこれらの2つのプロセスの現在のメモリ使用量ではありません。もしそれがramシステム上の512M を超えた場合、これらの2つのプロセスに割り当てられたページのサイズであり、アクティブに使用されているメモリのサイズ。ここで、を使用すると、プロセスのメモリ使用量がはるかに少ないことを示すpmap -x余分な列Dirtyが表示されます。次の例に示すように、Dirty最初の列の379M に対して、列は15Mを示しています。私の質問は次のとおりです:coloumnの下の値Dirtyは、そのプロセスでアクティブに使用される「実際の」メモリ量ですか?そうでない場合、プロセスの実際のメモリ使用量を調べるにはどうすればよいですか?ないpsとtop上記と同じ理由。下に何かありますか/proc それはこの情報を提供しますか?
[root@server ~]# pmap -x 10436 | grep total
total kB 379564 21528 15340
[root@server ~]#
[root@server ~]# free -m
total used free shared buffers cached
Mem: 489 447 41 0 52 214
-/+ buffers/cache: 180 308
Swap: 1023 0 1023
[root@server ~]#