Re: measuring swap partition speed
- In reply to: Mark Millard : "Re: measuring swap partition speed"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 30 Dec 2023 13:01:38 UTC
On Thu, 28 Dec 2023, at 14:07, Mark Millard wrote:
> Could you produce the same sort of report (gstat -spod
> and such included) for the arm64 context? The direct
> (well matched) comparison/contrast to amd64 could prove
> of interest to folks that work on arm64 support.
Differences between last lot of tests and this lot:
arm64 context
stable/14-n266030-e615bcd32171
boots from microsd
hd is ufs
swap is an entire 12gb slice
I noticed a couple of things additionally
1. when the 'swap slowdown' happened, in the gstat -spod output the % busy for da0 dropped to single figures.
2. when the test starts, it's as quick as can be expected. There's not much slowdown while git is 'receiving objects'. But in the next phase, when it's 'resolving deltas', the 'swap writing speed' drops from 10-15Mb/s to less than a tenth of that. It's the *degree* of slowdown
that's the problem.
Maybe 'resolving deltas' and 'find / blah' are analogous in terms of disk & swap reads/writes.
Observation is that it's not heavy writes causing the problem, it's more like 'looking at files and comparing $something'. It makes no noticeable difference if atime is on or off.
It was off on everything apart from /var/mail until wiping the system. At the moment,
atime is however it defaults to.
reasonably quick at first
root@generic:~ # gstat -spod
dT: 1.028s w: 1.000s
L(q) ops/s r/s kB kBps ms/r w/s kB kBps ms/w d/s kB kBps ms/d o/s ms/o %busy Name
0 0 0 0 0 0.0 0 0 0 0.0 0 0 0 0.0 0 0.0 0.0| mmcsd0
1 1535 0 0 0 0.0 1535 11 17226 0.6 0 0 0 0.0 0 0.0 71.2| da0
root@generic:~ # dd if=/dev/urandom of=/dev/da0p2 bs=8k conv=sync status=progress
^C6489980928 bytes (6490 MB, 6189 MiB) transferred 532.008s, 12 MB/s
792389+0 records in
792388+0 records out
6491242496 bytes transferred in 532.733201 secs (12184791 bytes/sec)
running the swapfile write test while 'resolving deltas'
root@generic:~ # gstat -spod
dT: 1.003s w: 1.000s
L(q) ops/s r/s kB kBps ms/r w/s kB kBps ms/w d/s kB kBps ms/d o/s ms/o %busy Name
0 0 0 0 0 0.0 0 0 0 0.0 0 0 0 0.0 0 0.0 0.0| mmcsd0
0 45 0 0 0 0.0 45 8 359 0.5 0 0 0 0.0 0 0.0 2.1| da0
root@generic:~ # dd if=/dev/urandom of=/dev/da0p2 bs=8k conv=sync status=progress
^C2108448768 bytes (2108 MB, 2011 MiB) transferred 338.007s, 6238 kB/s
257380+0 records in
257379+0 records out
2108448768 bytes transferred in 338.032562 secs (6237413 bytes/sec)
root@generic:~ # dd if=/dev/urandom of=/dev/da0p2 bs=8k conv=sync status=progress
you have mail
^C317849600 bytes (318 MB, 303 MiB) transferred 336.036s, 946 kB/s
38907+0 records in
38906+0 records out
318717952 bytes transferred in 336.805322 secs (946297 bytes/sec)
###############
root@generic:/mnt1-fbsd-ufs # date && time -l git clone https://git.freebsd.org/src.git
Thu Dec 28 17:04:27 UTC 2023
Cloning into 'src'...
remote: Enumerating objects: 4440009, done.
remote: Counting objects: 100% (383231/383231), done.
remote: Compressing objects: 100% (28796/28796), done.
remote: Total 4440009 (delta 377522), reused 354435 (delta 354435), pack-reused 4056778
Receiving objects: 100% (4440009/4440009), 1.59 GiB | 3.38 MiB/s, done.
Resolving deltas: 100% (3528665/3528665), done.
Checking objects: 100% (16777216/16777216), done.
Updating files: 100% (97320/97320), done.
2049.63 real 2210.75 user 178.10 sys
1077200 maximum resident set size
2333 average shared memory size
211 average unshared data size
128 average unshared stack size
470060 page reclaims
186 page faults
0 swaps
2176 block input operations
2747 block output operations
426413 messages sent
1188099 messages received
1978 signals received
1244606 voluntary context switches
6331454 involuntary context switches
root@generic:/mnt1-fbsd-ufs #
root@generic:/mnt1-fbsd-ufs # date && time -l git clone https://git.freebsd.org/ports.git
you have mail
Thu Dec 28 17:04:31 UTC 2023
Cloning into 'ports'...
remote: Enumerating objects: 6048197, done.
remote: Counting objects: 100% (961/961), done.
remote: Compressing objects: 100% (144/144), done.
remote: Total 6048197 (delta 926), reused 830 (delta 817), pack-reused 6047236
Receiving objects: 100% (6048197/6048197), 1.16 GiB | 3.11 MiB/s, done.
Resolving deltas: 100% (3651525/3651525), done.
Checking objects: 100% (16777216/16777216), done.
Updating files: 100% (157074/157074), done.
3400.64 real 3584.20 user 191.39 sys
1265592 maximum resident set size
2373 average shared memory size
216 average unshared data size
128 average unshared stack size
890112 page reclaims
162 page faults
0 swaps
7535 block input operations
3006 block output operations
283569 messages sent
868282 messages received
3293 signals received
1670707 voluntary context switches
9390334 involuntary context switches
root@generic:/mnt1-fbsd-ufs #