Apache ZooKeeperにおいて表題の事を調べる。
■ 環境
- Apache ZooKeeper 3.4.6
- Amazon Linux
■ zk_open_file_descriptor_count
4文字コマンド”mntr“で”zk_open_file_descriptor_count“の数値が得られる。試しにLinux上で稼働させているZooKeeperに対して実行してみると下記の通りである。
$ echo mntr | nc localhost 2181
zk_version 3.4.6-1569965, built on 02/20/2014 09:09 GMT
zk_avg_latency 0
zk_max_latency 41
zk_min_latency 0
zk_packets_received 12317736
zk_packets_sent 12317994
zk_num_alive_connections 6
zk_outstanding_requests 0
zk_server_state standalone
zk_znode_count 60
zk_watch_count 4
zk_ephemerals_count 2
zk_approximate_data_size 13453
zk_open_file_descriptor_count 35
zk_max_file_descriptor_count 4096
$
ここで得られる”35“という数値が正しいのか?を確認したい。まずはZooKeeperのPIDを確認。
$ jps
18518 QuorumPeerMain
19295 Jps
$
PIDが分かれば”/proc“配下を見れば分かるであろう。
$ sudo ls /proc/18518/fd | wc
34 34 92
$
“34“が得られた。4文字コマンドを実行する時の接続が”1“追加されるので計”35“が確かに正しい値を取得できている。実際にどのファイル等が開かれているかは、`ls -l`で見ればわかるであろう。
以上。