8d0f54ebb8232a616798e91c1ddd97989688f334
[openafs.git] / doc / man-pages / pod8 / afsd.pod
1 =head1 NAME
2
3 afsd - Initializes the Cache Manager and starts related daemons
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 B<afsd> [B<-afsdb>] [B<-backuptree>]
11      S<<< [B<-biods> <I<number of bkg I/O daemons (aix vm)>>] >>>
12      S<<< [B<-blocks> <I<1024 byte blocks in cache>>] >>>
13      S<<< [B<-cachedir> <I<cache directory>>] >>>
14      S<<< [B<-chunksize> <I<log(2) of chunk size>>] >>>
15      S<<< [B<-confdir> <I<configuration directory>>] >>>
16      S<<< [B<-daemons> <I<number of daemons to use>>] >>>
17      S<<< [B<-dcache> <I<number of dcache entries>>] >>> [B<-debug>]
18      [B<-dynroot>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
19      [B<-fakestat>] [B<-fakestat-all>]
20      S<<< [B<-files> <I<files in cache>>] >>>
21      S<<< [B<-files_per_subdir> <I<log(2) of files per dir>> ] >>>
22      [B<-help>] S<<< [B<-logfile> <I<Place to keep the CM log>>] >>>
23      [B<-mem_alloc_sleep>] [B<-memcache>]
24      S<<< [B<-mountdir> <I<mount location>>] >>> [B<-nomount>]
25      [B<-nosettime>]
26      S<<< [B<-prealloc> <I<number of 'small' preallocated blocks>>] >>>
27      [B<-rmtsys>] S<<< [B<-rootvol> <I<name of AFS root volume>>] >>>
28      [B<-rxbind>] S<<< [B<-rxpck> value for rx_extraPackets ] >>>
29      [B<-settime>] [B<-shutdown>]
30      S<<< [B<-splitcache> <I<RW/RO ratio>>] >>>
31      S<<< [B<-stat> <I<number of stat entries>>] >>> [B<-verbose>]
32      S<<< [B<-volumes> <I<number of volume entries>>] >>>
33      [B<-waitclose>]
34
35 =for html
36 </div>
37
38 =head1 DESCRIPTION
39
40 The B<afsd> command initializes the Cache Manager on an AFS client machine
41 by transferring AFS-related configuration information into kernel memory
42 and starting several daemons. More specifically, the B<afsd> command
43 performs the following actions:
44
45 =over 4
46
47 =item *
48
49 Sets a field in kernel memory that defines the machine's cell
50 membership. Some Cache Manager-internal operations and system calls
51 consult this field to learn which cell to execute in. (The AFS command
52 interpreters refer to the F</usr/vice/etc/ThisCell> file instead.) This
53 information is transferred into the kernel from the
54 F</usr/vice/etc/ThisCell> file and cannot be changed until the B<afsd>
55 program runs again.
56
57 =item *
58
59 Places in kernel memory the names and Internet addresses of the database
60 server machines in the local cell and (optionally) foreign cells. The
61 appearance of a cell's database server machines in this list enables the
62 Cache Manager to contact them and to access files in the cell. Omission of
63 a cell from this list, or incorrect information about its database server
64 machines, prevents the Cache Manager from accessing files in it.
65
66 By default, the list of database server machines is transferred into the
67 kernel from the F</usr/vice/etc/CellServDB> file. Alternatively, when the
68 B<-afsdb> option is used, the list of database server machines is taken
69 from the AFSDB DNS records for each cell. After initialization, use the
70 B<fs newcell> command to change the kernel-resident list without having to
71 reboot.
72
73 =item *
74
75 Mounts the root of the AFS filespace on a directory on the machine's local
76 disk, according to either the first field in the
77 F</usr/vice/etc/cacheinfo> file (the default) or the B<afsd> command's
78 B<-mountdir> argument. The conventional value is F</afs>.
79
80 =item *
81
82 Determines which volume to mount at the root of the AFS file tree.  The
83 default is the volume C<root.afs>; use the B<-rootvol> argument to
84 override it. Although the base (read/write) form of the volume name is the
85 appropriate value, the Cache Manager has a bias for accessing the
86 read-only version of the volume (by convention, C<root.afs.readonly>) if
87 it is available.
88
89 =item *
90
91 Configures the cache on disk (the default) or in machine memory if the
92 B<-memcache> argument is provided. In the latter case, the B<afsd> program
93 allocates space in machine memory for caching, and the Cache Manager uses
94 no disk space for caching even if the machine has a disk.
95
96 =item *
97
98 Defines the name of the local disk directory devoted to caching, when the
99 B<-memcache> argument is not used. If necessary, the B<afsd> program
100 creates the directory (its parent directory must already exist). It does
101 not remove the directory that formerly served this function, if one
102 exists.
103
104 The second field in the F</usr/vice/etc/cacheinfo> file is the source for
105 this name. The standard value is F</usr/vice/cache>. Use the B<-cachedir>
106 argument to override the value in the B<cacheinfo> file.
107
108 =item *
109
110 Sets the size of the cache. The default source for the value is the third
111 field in the F</usr/vice/etc/cacheinfo> file, which specifies a number of
112 kilobytes.
113
114 For a memory cache, the following arguments to the afsd command override
115 the value in the B<cacheinfo> file:
116
117 =over 4
118
119 =item *
120
121 The B<-blocks> argument, to specify a different number of kilobyte blocks.
122
123 =item *
124
125 The B<-dcache> and B<-chunksize> arguments together, to set both the
126 number of dcache entries and the chunk size (see below for definition of
127 these parameters). In this case, the B<afsd> program derives cache size by
128 multiplying the two values. Using this combination is not recommended, as
129 it requires the issuer to perform the calculation beforehand to determine
130 the resulting cache size.
131
132 =item *
133
134 The B<-dcache> argument by itself. In this case, the B<afsd> program
135 derives cache size by multiplying the value specified by the B<-dcache>
136 argument by the default memory cache chunk size of eight kilobytes. Using
137 this argument is not recommended, as it requires the issuer to perform the
138 calculation beforehand to determine the resulting cache size.
139
140 =back
141
142 For satisfactory memory cache performance, the specified value must leave
143 enough memory free to accommodate all other processes and commands that
144 can run on the machine. If the value exceeds the amount of memory
145 available, the B<afsd> program exits without initializing the Cache
146 Manager and produces the following message on the standard output stream:
147
148    afsd: memCache allocation failure at <number> KB
149
150 where <number> is how many kilobytes were allocated just before the
151 failure.
152
153 For a disk cache, use the B<-blocks> argument to the B<afsd> command to
154 override the value in the B<cacheinfo> file. The value specified in either
155 way sets an absolute upper limit on cache size; values provided for other
156 arguments (such as B<-dcache> and B<-chunksize>) never result in a larger
157 cache. The B<afsd> program rejects any setting larger than 95% of the
158 partition size, and exits after generating an error message on the
159 standard output stream, because the cache implementation itself requires a
160 small amount of disk space and overfilling the partition can cause the
161 client machine to panic.
162
163 To change the size of a disk cache after initialization without rebooting,
164 use the B<fs setcachesize> command; the setting persists until the B<afsd>
165 command runs again or the B<fs setcachesize> command is reissued. The B<fs
166 setcachesize> command does not work for memory caches.
167
168 =item *
169
170 Sets the size of each cache I<chunk>, and by implication the amount of
171 data that the Cache Manager requests at a time from the File Server (how
172 much data per fetch RPC, since AFS uses partial file transfer).
173
174 For a disk cache, a chunk is a F<VI<n>> file and this parameter
175 sets the maximum size to which each one can expand; the default is 64
176 KB. For a memory cache, each chunk is a collection of contiguous memory
177 blocks; the default is size is 8 KB.
178
179 To override the default chunk size for either type of cache, use the
180 B<-chunksize> argument to provide an integer to be used as an exponent of
181 two; see L<OPTIONS> for details. For a memory cache, if total cache size
182 divided by chunk size leaves a remainder, the B<afsd> program rounds down
183 the number of dcache entries, resulting in a slightly smaller cache.
184
185 =item *
186
187 Sets the number of chunks in the cache. For a memory cache, the number of
188 chunks is equal to the cache size divided by the chunk size.  For a disk
189 cache, the number of chunks (F<VI<n>> files) is set to the largest
190 of the following unless the B<-files> argument is used to set the value
191 explicitly:
192
193 =over 4
194
195 =item *
196
197 100
198
199 =item *
200
201 1.5 times the result of dividing cache size by chunk size
202 (I<cachesize>/I<chunksize> * 1.5)
203
204 =item *
205
206 The result of dividing cachesize by 10 KB (I<cachesize>/10240)
207
208 =back
209
210 =item *
211
212 Sets the number of I<dcache entries> allocated in machine memory for
213 storing information about the chunks in the cache.
214
215 For a disk cache, the F</usr/vice/cache/CacheItems> file contains one
216 entry for each F<VI<n>> file. By default, one half the number of
217 these entries (but not more that 2,000) are duplicated as dcache entries
218 in machine memory for quicker access.
219
220 For a memory cache, there is no F<CacheItems> file so all information
221 about cache chunks must be in memory as dcache entries.  Thus, there is no
222 default number of dcache entries for a memory cache; instead, the B<afsd>
223 program derives it by dividing the cache size by the chunk size.
224
225 To set the number of dcache entries, use the B<-dcache> argument; the
226 specified value can exceed the default limit of 2,000. Using this argument
227 is not recommended for either type of cache. Increasing the number of
228 dcache entries for a disk cache sometimes improves performance (because
229 more entries are retrieved from memory rather than from disk), but only
230 marginally. Using this argument for a memory cache requires the issuer to
231 calculate the cache size by multiplying this value by the chunk size.
232
233 =item *
234
235 Sets the number of I<stat> entries available in machine memory for caching
236 status information about cached AFS files. The default is 300; use the
237 B<-stat> argument to override the default.
238
239 =item *
240
241 If the B<-settime> option is specified, then it randomly selects a file
242 server machine in the local cell as the source for the correct time. Every
243 five minutes thereafter, the local clock is adjusted (if necessary) to
244 match the file server machine's clock. This is not enabled by default.  It
245 is recommended, instead, that the Network Time Protocol Daemon be used to
246 synchronize the time.
247
248 =back
249
250 In addition to setting cache configuration parameters, the B<afsd> program
251 starts the following daemons. (On most system types, these daemons appear
252 as nameless entries in the output of the UNIX B<ps> command.)
253
254 =over 4
255
256 =item *
257
258 One I<callback> daemon, which handles callbacks. It also responds to the
259 File Server's periodic probes, which check that the client machine is
260 still alive.
261
262 =item *
263
264 One I<maintenance> daemon, which performs the following tasks:
265
266 =over 4
267
268 =item *
269
270 Garbage collects obsolete data (for example, expired tokens) from kernel
271 memory.
272
273 =item *
274
275 Synchronizes files.
276
277 =item *
278
279 Refreshes information from read-only volumes once per hour.
280
281 =item *
282
283 Does delayed writes for NFS clients if the machine is running the NFS/AFS
284 Translator.
285
286 =back
287
288 =item *
289
290 One I<cache-truncation> daemon, which flushes the cache when free space is
291 required, by writing cached data and status information to the File
292 Server.
293
294 =item *
295
296 One I<server connection> daemon, which sends a probe to the File
297 Server every few minutes to check that it is still accessible. If the
298 B<-settime> option is set, it also synchronizes the machine's clock
299 with the clock on a randomly-chosen file server machine. There is
300 always one server connection daemon.
301
302 =item *
303
304 One or more I<background> daemons that improve performance by pre-fetching
305 files and performing background (delayed) writes of saved data into AFS.
306
307 The default number of background daemons is two, enough to service at
308 least five simultaneous users of the machine. To increase the number, use
309 the B<-daemons> argument. A value greater than six is not generally
310 necessary.
311
312 =item *
313
314 On some system types, one I<Rx listener> daemon, which listens for
315 incoming RPCs.
316
317 =item *
318
319 On some system types, one I<Rx event> daemon, which reviews the Rx
320 system's queue of tasks and performs them as appropriate. Most items in
321 the queue are retransmissions of failed packets.
322
323 =item *
324
325 On machines that run AIX with virtual memory (VM) integration, one or more
326 I<VM> daemons (sometimes called I<I/O> daemons, which transfer data
327 between disk and machine memory. The number of them depends on the setting
328 of the B<-biods> and B<-daemons> arguments:
329
330 =over 4
331
332 =item *
333
334 If the B<-biods> argument is used, it sets the number of VM daemons.
335
336 =item *
337
338 If only the B<-daemons> argument is used, the number of VM daemons is
339 twice the number of background daemons.
340
341 =item *
342
343 If neither argument is used, there are five VM daemons.
344
345 =back
346
347 =back
348
349 This command does not use the syntax conventions of the AFS command
350 suites. Provide the command name and all option names in full.
351
352 =head1 CAUTIONS
353
354 Before using the B<-shutdown> parameter, use the standard UNIX B<umount>
355 command to unmount the AFS root directory (by convention, F</afs>).  On
356 Linux, unloading the AFS kernel module and then loading it again before
357 restarting AFS after B<-shutdown> is recommended.
358
359 AFS has for years had difficulties with being stopped and restarted
360 without an intervening reboot.  While most of these issues have been
361 ironed out, stopping and restarting AFS is not recommended unless
362 necessary and rebooting before restarting AFS is still the safest course
363 of action. This does not apply to Linux; it should be safe to restart the
364 AFS client on Linux without rebooting.
365
366 In contrast to many client-server applications, not all communication is
367 initiated by the client. When the AFS client opens a file, it registers a
368 callback with the AFS server. If the file changes, the server notifies the
369 client that the file has changed and that all cached copies should be
370 discarded. In order to enable full functionality on the AFS client,
371 including all command-line utilities, the following UDP ports must be open
372 on an firewalls between the client and the server:
373
374    fileserver      7000/udp 
375    cachemanager    7001/udp (OpenAFS client. Arla uses 4711/udp)
376    ptserver        7002/udp
377    vlserver        7003/udp
378    kaserver        7004/udp (not needed with Kerberos v5)
379    volserver       7005/udp
380    reserved        7006/udp (for future use)
381    bosserver       7007/udp
382
383 Additionally, for B<klog> to work through the firewall you need to allow
384 inbound and outbound UDP on ports >1024 (probably 1024<port<2048 would
385 suffice depending on the number of simultaneous B<klog>s).
386
387 Be sure to set the UDP timeouts on the firewall to be at least twenty
388 minutes for the best callback performance.
389
390 =head1 OPTIONS
391
392 =over 4
393
394 =item B<-afsdb>
395
396 Enable afsdb support. This will use DNS to lookup the AFSDB record and
397 use that for the database servers for each cell instead of the values
398 in the F<CellServDB> file. This has the advantage of only needing to
399 update one DNS record to reconfigure the AFS clients for a new
400 database server as opposed to touching all of the clients, and also
401 allows one to access a cell without preconfiguring its database
402 servers in F<CellServDB>. The format of AFSDB records is defined in
403 RFC 1183.
404
405 =item B<-backuptree>
406
407 Prefer backup volumes for mountpoints in backup volumes. This option means
408 that the AFS client will prefer to resolve mount points to backup volumes
409 when a parent of the current volume is a backup volume. This is similar to
410 the standard behaviour of preferring read-only volumes over read-write
411 volumes when the parent volume is a read-only volume.
412
413 =item B<-biods> <I<number of I/O daemons>>
414
415 Sets the number of VM daemons dedicated to performing I/O operations on a
416 machine running a version of AIX with virtual memory (VM) integration.  If
417 both this argument and the B<-daemons> argument are omitted, the default
418 is five. If this argument is omitted but the B<-daemons> argument is
419 provided, the number of VM daemons is set to twice the value of the
420 B<-daemons> argument.
421
422 =item B<-blocks> <I<blocks in cache>>
423
424 Specifies the number of kilobyte blocks to be made available for caching
425 in the machine's cache directory (for a disk cache) or memory (for a
426 memory cache), overriding the default defined in the third field of the
427 F</usr/vice/etc/cacheinfo> file. For a disk cache, the value cannot exceed
428 95% of the space available in the cache partition. If using a memory
429 cache, do not combine this argument with the B<-dcache> argument, since
430 doing so can possibly result in a chunk size that is not an exponent of 2.
431
432 =item B<-cachedir> <I<cache directory>>
433
434 Names the local disk directory to be used as the cache. This value
435 overrides the default defined in the second field of the
436 F</usr/vice/etc/cacheinfo> file.
437
438 =item B<-chunksize> <I<chunk size>>
439
440 Sets the size of each cache chunk. The integer provided, which must be
441 from the range C<0> to C<30>, is used as an exponent on the number 2. It
442 overrides the default of 16 for a disk cache (2^16 is 64 KB) and 13 for a
443 memory cache (2^13 is 8 KB). A value of C<0> or less, or greater than
444 C<30>, sets chunk size to the appropriate default. Values less than C<10>
445 (which sets chunk size to a 1 KB) are not recommended.  Combining this
446 argument with the B<-dcache> argument is not recommended because it
447 requires that the issuer calculate the cache size that results.
448
449 B<-chunksize> is an important option when tuning for performance. Setting
450 this option to larger values can increase performance when dealing with
451 large files.
452
453 =item B<-confdir> <I<configuration directory>>
454
455 Names a directory other than the F</usr/vice/etc> directory from which to
456 fetch the F<cacheinfo>, F<ThisCell>, and F<CellServDB> configuration
457 files.
458
459 =item B<-daemons> <I<number of daemons to use>>
460
461 Specifies the number of background daemons to run on the machine.  These
462 daemons improve efficiency by doing prefetching and background writing of
463 saved data. This value overrides the default of C<2>, which is adequate
464 for a machine serving up to five users. Values greater than C<6> are not
465 generally more effective than C<6>.
466
467 Note: On AIX machines with integrated virtual memory (VM), the number of
468 VM daemons is set to twice the value of this argument, if it is provided
469 and the B<-biods> argument is not. If both arguments are omitted, there
470 are five VM daemons.
471
472 =item B<-dcache> <I<number of dcache entries>>
473
474 Sets the number of dcache entries in memory, which are used to store
475 information about cache chunks. For a disk cache, this overrides the
476 default, which is 50% of the number of F<VI<n>> files (cache chunks). For
477 a memory cache, this argument effectively sets the number of cache chunks,
478 but its use is not recommended, because it requires the issuer to
479 calculate the resulting total cache size (derived by multiplying this
480 value by the chunk size). Do not combine this argument with the B<-blocks>
481 argument, since doing so can possibly result in a chunk size that is not
482 an exponent of 2.
483
484 =item B<-debug>
485
486 Generates a highly detailed trace of the B<afsd> program's actions on the
487 standard output stream. The information is useful mostly for debugging
488 purposes.
489
490 =item B<-dynroot>
491
492 The standard behaviour of the AFS client without the B<-dynroot> option is
493 to mount the root.afs volume from the default cell on the F</afs> path. The 
494 F</afs> folder and root.afs volume traditionally shows the folders for 
495 F<ThisCell> and other cells as configured by the AFS cell administrator.
496
497 The B<-dynroot> option changes this. Using this option, the AFS client
498 does not mount the root.afs volume on F</afs>. Instead it uses the
499 contents of the F<CellServDB> file to populate the listing of cells in
500 F</afs>. This is known as a DYNamic ROOT. A cell is not contacted until
501 the path F</afs/I<cellname>> if accessed. This functions similarly to an
502 automounter.  The main advantage of using B<-dynroot> is that the AFS
503 client will start properly even without network access, whereas the client
504 not using B<-dynroot> will freeze upon startup if cannot contact the
505 default cell specified in F<ThisCell> and mount the root.afs
506 volume. Dynamic root mode is also sometimes called travelling mode because
507 it works well for laptops which don't always have network connectivity.
508
509 Two advantages of not using dynroot are that listing F</afs> will usually
510 be faster because the contents of F</afs> are limited to what the AFS
511 administrator decides and that symbolic links are traditionally created
512 by the AFS administrator to provide a short name for the cell (i.e.
513 cellname.domain.com is aliased to cellname).  However, with dynroot, the
514 local system administrator can limit the default contents of F</afs> by
515 installing a stripped-down F<CellServDB> file, and if dynroot is in effect,
516 the F<CellAlias> file can be used to provide shortname for common AFS cells
517 which provides equivalent functionality to the most commonly used symbolic
518 links.
519
520 =item B<-enable_peer_stats>
521
522 Activates the collection of Rx statistics and allocates memory for their
523 storage. For each connection with a specific UDP port on another machine,
524 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
525 so on) sent or received. To display or otherwise access the records, use
526 the Rx Monitoring API.
527
528 =item B<-enable_process_stats>
529
530 Activates the collection of Rx statistics and allocates memory for their
531 storage. A separate record is kept for each type of RPC (FetchFile,
532 GetStatus, and so on) sent or received, aggregated over all connections to
533 other machines. To display or otherwise access the records, use the Rx
534 Monitoring API.
535
536 =item B<-fakestat>
537
538 Return fake values for stat calls on cross-cell mounts. This option makes
539 an C<ls -l> of F</afs> much faster since each cell isn't contacted, and
540 this and the B<-fakestat-all> options are useful on Mac OS X so that the
541 Finder program doesn't try to contact every AFS cell the system knows
542 about.
543
544 =item B<-fakestat-all>
545
546 Return fake values for stat calls on all mounts, not just cross-cell
547 mounts. This and the B<-fakestat> options are useful on Mac OS X so that
548 the Finder program doesn't hang when browsing AFS directories.
549
550 =item B<-files> <I<files in cache>>
551
552 Specifies the number of F<VI<n>> files to create in the cache directory
553 for a disk cache, overriding the default that is calculated as described
554 in L<DESCRIPTION>. Each F<VI<n>> file accommodates a chunk of data, and
555 can grow to a maximum size of 64 KB by default. Do not combine this
556 argument with the B<-memcache> argument.
557
558 =item B<-files_per_subdir> <I<files per cache subdirectory>>
559
560 Limits the number of cache files in each subdirectory of the cache
561 directory. The value of the option should be the base-two log of the
562 number of cache files per cache subdirectory (so 10 for 1024 files, 14 for
563 16384 files, and so forth).
564
565 =item B<-help>
566
567 Prints the online help for this command. All other valid options are
568 ignored.
569
570 =item B<-logfile> <I<log file location>>
571
572 This option is obsolete and no longer has any effect.
573
574 =item B<-mem_alloc_sleep>
575
576 Allows sleeps when allocating a memory cache.
577
578 =item B<-memcache>
579
580 Initializes a memory cache rather than a disk cache. Do not combine this
581 flag with the B<-files> argument.
582
583 =item B<-mountdir> <I<mount location>>
584
585 Names the local disk directory on which to mount the root of the AFS
586 filespace. This value overrides the default defined in the first field of
587 the F</usr/vice/etc/cacheinfo> file. If a value other than the F</afs>
588 directory is used, the machine cannot access the filespace of cells that
589 do use that value.
590
591 =item B<-nomount>
592
593 Do not mount AFS on startup. The afs global mount must be mounted via
594 some other means. This is useful on Mac OS X where /afs is sometimes
595 mounted in /Network/afs like other network file systems.
596
597 =item B<-nosettime>
598
599 This is enabled by default. It prevents the Cache Manager from
600 synchronizing its clock with the clock on a server machine selected at
601 random by checking the time on the server machine every five minutes.
602 This is the recommended behavior; instead of the AFS Cache Manager, the
603 Network Time Protocol Daemon should be used to synchronize the system
604 time.
605
606 =item B<-prealloc> <I<number of preallocated blocks>>
607
608 Specifies the number of pieces of memory to preallocate for the Cache
609 Manager's internal use. The default initial value is C<400>, but the Cache
610 Manager dynamically allocates more memory as it needs it.
611
612 =item B<-rmtsys>
613
614 Initializes an additional daemon to execute AFS-specific system calls on
615 behalf of NFS client machines. Use this flag only if the machine is an
616 NFS/AFS translator machine serving users of NFS client machines who
617 execute AFS commands.
618
619 =item B<-rootvol> <I<name of AFS root volume>>
620
621 Names the read/write volume corresponding to the root directory for the
622 AFS file tree (which is usually the F</afs> directory). This value
623 overrides the default of the C<root.afs> volume. This option is ignored if
624 B<-dynroot> is given.
625
626 =item B<-rxbind>
627
628 Bind the Rx socket (one interface only).
629
630 =item B<-rxpck> <I<value for rx_extraPackets>>
631
632 Set rx_extraPackets to this value. This sets the number of extra Rx
633 packet structures that are available to handle Rx connections. This
634 value should be increased if the "rxdebug 127.0.0.1 -port 7001
635 -rxstats" command shows no free Rx packets. Increasing this value may
636 improve OpenAFS client performance in some circumstances.
637
638 =item B<-settime>
639
640 Enable native AFS time synchronization. This option is the opposite of
641 B<-nosettime> and cannot be used with the B<-nosettime> option.
642
643 =item B<-shutdown>
644
645 Shuts down the Cache Manager. Before calling B<afsd> with this option,
646 unmount the AFS file system with B<umount>.
647
648 =item B<-splitcache> <I<RW/RO Ratio>>
649
650 This allows the user to set a certain percentage of the AFS cache be
651 reserved for read/write content and the rest to be reserved for read-only
652 content. The ratio should be written as a fraction.  For example,
653 C<-splitcache 75/25> devotes 75% of your cache space to read/write content
654 and 25% to read-only.
655
656 =item B<-stat> <I<number of stat entries>>
657
658 Specifies the number of entries to allocate in the machine's memory for
659 recording status information about the AFS files in the cache. This value
660 overrides the default of C<300>.
661
662 =item B<-verbose>
663
664 Generates a detailed trace of the B<afsd> program's actions on the
665 standard output stream.
666
667 =item B<-volumes> <I<number of volume entries>>
668
669 Specifies the number of memory structures to allocate for storing volume
670 location information. The default value is C<50>.
671
672 =item B<-waitclose>
673
674 Has no effect on the operation of the Cache Manager. The behavior it
675 affected in previous versions of the Cache Manager, to perform synchronous
676 writes to the File Server, is now the default behavior. To perform
677 asynchronous writes in certain cases, use the B<fs storebehind> command.
678
679 =back
680
681 =head1 EXAMPLES
682
683 The B<afsd> command is normally included in the machine's AFS
684 initialization file, rather than typed at the command shell prompt. For
685 most disk caches, the appropriate form is
686
687    % /usr/vice/etc/afsd
688
689 The following command is appropriate when enabling a machine to act as an
690 NFS/AFS Translator machine serving more than five users.
691
692    % /usr/vice/etc/afsd -daemons 4 -rmtsys
693
694 The following command initializes a memory cache and sets chunk size to 16
695 KB (2^14).
696
697    % /usr/vice/etc/afsd -memcache -chunksize 14
698
699 =head1 PRIVILEGE REQUIRED
700
701 The issuer must be logged in as the local superuser root.
702
703 =head1 SEE ALSO
704
705 L<fs_newcell(1)>,
706 L<afs_cache(5)>,
707 L<CellServDB(5)>,
708 L<cacheinfo(5)>
709
710 RFC 1183 L<http://www.faqs.org/rfcs/rfc1183.html>
711
712 =head1 COPYRIGHT
713
714 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
715
716 This documentation is covered by the IBM Public License Version 1.0.  It
717 was converted from HTML to POD by software written by Chas Williams and
718 Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.