via
【メモ】 サーバのLoad Averageなどを監視するコマンド「top」をログに保存する(PHP版) | mutter
top - コマンド (プログラム) の説明 - Linux コマンド集 一覧表

10秒間隔で2回

$pp = popen(/usr/bin/top -b -n 2 -d 10, r);
while(!feof($pp)):
echo fgets($pp) .
;
endwhile;
pclose($pp);

freeBSDだとなんかプロセスが2個しかでてこなかったので
下の部分をこう変えた

$pp = popen(/usr/bin/top -b -n 20 -d 1, r);

オプションは

[-b] : バッチモード 操作
top を「バッチモード」で起動する。 top の出力を他のプログラムやファイルに送る場合に役立つ。 このモードでは、top は入力を受け付けず、 -n (COで設定された繰り返し回数に達するか、 kill されるまで実行を続ける。


[-n] : 繰り返し回数 制限:-n number
top が終了するまでの繰り返し回数またはフレームの最大数を指定する。


[-d] : 遅延時間 間隔:-d ss.tt (秒 .1/10秒 )
スクリーンを更新する間隔を指定する。 ユーザー個人の設定ファイルにあるこれに対応する値、 または起動時のデフォルトの値を上書きする。 実行後に(CI d または s で変更できる。
小数点以下の秒も指定できるが、負数は許可されない。 しかし全ての場合において、 top が「セキュアモード」で実行されているときには、 このような変更は禁止されている。 ただし root の場合 (かつ(CO s が使われていない場合) は除く。 「セキュアモード」についてのより詳しい情報は、 「5a. システム設定ファイル」(Xt。

を使っている