NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: How to limit amount of virtual memory used for files (was: Re: Tuning ZFS memory usage on NetBSD - call for advice)
- To: Matthias Petermann <mp%petermann-it.de@localhost>
- Subject: Re: How to limit amount of virtual memory used for files (was: Re: Tuning ZFS memory usage on NetBSD - call for advice)
- From: RVP <rvp%SDF.ORG@localhost>
- Date: Tue, 20 Sep 2022 21:50:22 +0000 (UTC)
On Tue, 20 Sep 2022, Matthias Petermann wrote:
In theory this looked exactly what I was looking for... unfortunately I can
observe the same effect like I was doing before with the simple redirection.
"File" grows to a maximum, the system starts to swap.
The system is still buffering even with `oflag=direct' because:
In sys/miscfs/genfs/genfs_io.c (-HEAD):
1789 /*
1790 * If the next chunk is smaller than DEV_BSIZE or extends past
1791 * the current EOF, then fall back to buffered I/O.
1792 */
1793
1794 if (len == 0 || uio->uio_offset + len > vp->v_size) {
1795 break;
1796 }
So, O_DIRECT (for writes) on NetBSD only takes effect when _overwriting_
existing data--which is not very useful for regular files...
I don't know what to recommend now (various complicated schemes come to mind).
Maybe `oflag=dsync' to force writes?
-RVP
Home |
Main Index |
Thread Index |
Old Index