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 #