1GANESHA-CACHE-CONFIG(8) NFS-Ganesha GANESHA-CACHE-CONFIG(8)
2
3
4
6 ganesha-cache-config - NFS Ganesha Cache Configuration File
7
9 /etc/ganesha/ganesha.conf
10
11
13 NFS-Ganesha reads the configuration data from: | /etc/ganesha/gane‐
14 sha.conf
15
16 This file lists NFS-Ganesha Cache config options.
17
18 MDCACHE {}
19 NParts (uint32, range 1 to 32633, default 7)
20 Partitions in the MDCACHE tree.
21
22 Cache_Size(uint32, range 1 to UINT32_MAX, default 32633)
23 Per-partition hash table size.
24
25 Use_Getattr_Directory_Invalidation(bool, default false)
26 Use getattr for directory invalidation.
27
28 Dir_Chunk(uint32, range 0 to UINT32_MAX, default 128)
29 Size of per-directory dirent cache chunks, 0 means directory
30 chunking is not enabled. Dir_Chunk should always be enabled.
31 Most FSAL modules especially FSAL_RGW/FSAL_GLUSTER need it to
32 make readdir work well.
33
34 Detached_Mult(uint32, range 1 to UINT32_MAX, default 1)
35 Max number of detached directory entries expressed as a multiple
36 of the chunk size.
37
38 Entries_HWMark(uint32, range 1 to UINT32_MAX, default 100000)
39 The point at which object cache entries will start being reused.
40
41 Entries_Release_Size(uint32, range 0 to UINT32_MAX, default 100)
42 The number of entries attempted to release each time when the
43 handle cache has exceeded the entries high water mark.
44
45 Chunks_HWMark(uint32, range 1 to UINT32_MAX, default 1000)
46 The point at which dirent cache chunks will start being reused.
47
48 Chunks_LWMark(uint32, range 1 to UINT32_MAX, default 1000)
49 The target for reaping dirent cache chunks to drain the cache.
50
51 Entries_HWMark, Dir_Chunk, Chunks_HWMark, Chunks_LWMark all play
52 together. While a dirent chunk is cached, the object cache en‐
53 tries that are part of that dirent chunk will be retained in the
54 cache indefinitely. Note that this means that possibly
55 Chunks_LWMark * Dir_Chunk entries will be retained. If this is
56 larger than Entries_HWMark, then the object cache may end up re‐
57 maining above Entries_HWMark for a significant time. Consider
58 the average size of the directories and the number of directo‐
59 ries desired to be maintained in the cache and set Chunks_LWMark
60 appropriately.
61
62 Note that the Chunks_LWMark defaults to the same value as
63 Chunks_HWMark and these are set to 1/100 of Entries_HWMark sug‐
64 gesting an average directory size of 100. It may be desirable to
65 set Chunks_LWMark less than Chunks_HWMark if it is desirable to
66 allow large directory chunks to not immediately be re-used, but
67 it is desirable to in the short term drain the dirent cache down
68 to a smaller number.
69
70 LRU_Run_Interval(uint32, range 1 to 24 * 3600, default 90)
71 Base interval in seconds between runs of the LRU cleaner thread.
72
73 Cache_FDs(bool, true)
74 If "Cache_FDs" is set to false, the reaper thread aggressively
75 closes FDs , significantly reducing the number of open FDs.
76 This will help to maintain a minimal number of open FDs.
77
78 If "Cache_FDs" is set to true (default), FDs are cached, and the
79 LRU reaper thread closes FDs only when the current open FD count
80 reaches or exceeds the "fds_lowat" threshold.
81
82 FD_Limit_Percent(uint32, range 0 to 100, default 99)
83 The percentage of the system-imposed maximum of file descriptors
84 at which Ganesha will deny requests.
85
86 FD_HWMark_Percent(uint32, range 0 to 100, default 90)
87 The percentage of the system-imposed maximum of file descriptors
88 above which Ganesha will make greater efforts at reaping.
89
90 FD_LWMark_Percent(uint32, range 0 to 100, default 50)
91 The percentage of the system-imposed maximum of file descriptors
92 below which Ganesha will not reap file descriptors.
93
94 Reaper_Work(uint32, range 1 to 2000, default 0)
95 Roughly, the amount of work to do on each pass through the
96 thread under normal conditions. (Ideally, a multiple of the
97 number of lanes.) This setting is deprecated. Please use
98 Reaper_Work_Per_Lane
99
100 Reaper_Work_Per_Lane(uint32, range 1 to UINT32_MAX, default 50)
101 This is the number of handles per lane to scan when performing
102 LRU maintenance. This task is performed by the Reaper thread.
103
104 Biggest_Window(uint32, range 1 to 100, default 40)
105 The largest window (as a percentage of the system-imposed limit
106 on FDs) of work that we will do in extremis.
107
108 Required_Progress(uint32, range 1 to 50, default 5)
109 Percentage of progress toward the high water mark required in in
110 a pass through the thread when in extremis
111
112 Futility_Count(uint32, range 1 to 50, default 8)
113 Number of failures to approach the high watermark before we dis‐
114 able caching, when in extremis.
115
116 Dirmap_HWMark(uint32, range 1 to UINT32_MAX, default 10000)
117 The point at which dirmap entries are reused. This puts a prac‐
118 tical limit on the number of simultaneous readdirs that may be
119 in progress on an export for a whence-is-name FSAL (currently
120 only FSAL_RGW)
121
123 ganesha-config(8)
124
125
126
127
128 Nov 03, 2023 GANESHA-CACHE-CONFIG(8)