[Samba] Possible Issue with Samba Blocking I/O and CPU
Jeremy Allison
jra at samba.org
Fri Jun 11 12:17:58 MDT 2010
On Fri, Jun 11, 2010 at 08:01:58AM -0400, Andy Liebman wrote:
>
>> According to Jeremy, using "write cache size = 262144", you end up with a 256
>> _megabyte_ cache for _each_ smbd process. Apparently the setting value is in
>> kilobytes, not bytes. With 10 active users that equals ~2.5GB of system
>> (virtual) memory allocated to smbd read/write cache. This would definitely
>> explain why you're masking any underlying kernel I/O problem. As Jeremy said,
>> with this configuration, you're now rarely touching the disks.
>>
>>
> Hi Stan,
>
> This contradicts what it says in "man smb.conf". Can we clarify what
> is correct?
>
>
> write cache size (S)
>
>
> If this integer parameter is set to non-zero value, Samba will
> create an in-memory cache for each oplocked file (it does /not/ do
> this for non-oplocked files). All writes that the client does not
> request to be flushed directly to disk will be stored in this cache
> if possible. The cache is flushed onto disk when a write comes in
> whose offset would not fit into the cache or when the file is closed
> by the client. Reads for the file are also served from this cache if
> the data is stored within it.
>
> This cache allows Samba to batch client writes into a more efficient
> write size for RAID disks (i.e. writes may be tuned to be the RAID
> stripe size) and can improve performance on systems where the disk
> subsystem is a bottleneck but there is free memory for userspace
> programs.
>
> The integer parameter specifies the size of this cache (per oplocked
> file) in bytes.
The man page is correct, the size is in bytes.
Jeremy.
More information about the samba
mailing list