Hi, all,
I analyze the dfs.log on one box :
# count files that were opened
$ grep ' open' dfs.log | grep 'fd=' | wc -l
21028
# count files that were created
$ grep ' create' dfs.log | grep 'fd=' | wc -l
10260
# count files that were closed
$ grep ' close' dfs.log | grep 'fd=' | wc -l
28519
# how many files that are opened now
$ echo '21028 + 10260 - 28519' | bc
2769
I found some files opened many times before close :
$ grep -n 'fd=7398' dfs.log
14310:2009-07-15 03:28:06,774 1156786496 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:86) open( /hypertable/tables/storage_se/default/
75C73F17368096C166F0DC49/cs46 ) fd=7398 local_fd=1370
29715:2009-07-18 07:57:12,230 1216268608 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:86) open( /hypertable/tables/storage_se/default/
C8A2F2AC3B035CE469808D05/cs5 ) fd=7398 local_fd=1703
32123:2009-07-18 12:17:11,049 1153329472 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:148) close fd=7398
I also found some files opened but never close :
$ grep -n 'fd=7350' dfs.log
14221:2009-07-15 01:31:19,662 1261685056 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:131) create( /hypertable/tables/storage_se/default/
06825ADA6690593E88E09C91/cs53 ) fd=7350 local_fd=1372
14233:2009-07-15 01:31:21,995 1272174912 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:148) close fd=7350
29631:2009-07-18 07:42:17,139 1237248320 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:86) open( /hypertable/tables/storage_se/default/
D9AFD0F87BF44F88B676BCC1/cs77 ) fd=7350 local_fd=1358
$ grep -n 'fd=7400' dfs.log
14321:2009-07-15 03:28:07,114 1261685056 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:86) open( /hypertable/tables/storage_se/default/
00BF88DA6E4A1B18B26FB4BB/cs49 ) fd=7400 local_fd=677
29726:2009-07-18 08:04:34,106 1205778752 kosmosBroker [INFO] (kosmos/
KosmosBroker.cc:86) open( /hypertable/tables/storage_se/agPORT/
8BD9582FEBEF358E57ED1D11/cs19 ) fd=7400 local_fd=642
So, I wrote a script to statist the status of fd, and found about
1729 openning handles (opened but not close). If every KFS handle
reserve some chunk-buffer for caching data, are these 1729 kfs-file-
handles
responsible for the 1.7GB memory eaten by KosmosBroker ?
In my system, the size of data are about 150 GB, there are about 2400
kfs-chunks ( 64MB/chunk). In KFS, replica-factor is 3.
Does this mean that Hypertable opened every chunk file and remain
opening (for query service) ??
Is there any timeout parameter that Hypertable will close read-only
file handle?
Thanks.
-- kuer