GPT vs MBR for swap devices

Mark Millard marklmi at yahoo.com
Tue Jun 19 01:35:41 UTC 2018



On 2018-Jun-18, at 6:31 PM, Mark Millard <marklmi at yahoo.com> wrote:

> On 2018-Jun-18, at 5:55 PM, bob prohaska <fbsd at www.zefox.net> wrote:
> 
>> On Mon, Jun 18, 2018 at 04:42:21PM -0700, Mark Millard wrote:
>>> 
>>> 
>>> On 2018-Jun-18, at 4:04 PM, bob prohaska <fbsd at www.zefox.net> wrote:
>>> 
>>>> On Sat, Jun 16, 2018 at 04:03:06PM -0700, Mark Millard wrote:
>>>>> 
>>>>> Since the "multiple swap partitions across multiple
>>>>> devices" context (my description) is what has problems,
>>>>> it would be interesting to see swapinfo information
>>>>> from around the time frame of the failures: how much is
>>>>> used vs. available on each swap partition? Is only one
>>>>> being (significantly) used? The small one (1 GiByte)?
>>>>> 
>>>> There are some preliminary observations at
>>>> 
>>>> http://www.zefox.net/~fbsd/rpi3/swaptests/newtests/1gbusbflash_1gbsdflash_swapinfo/1gbusbflash_1gbsdflash_swapinfo.log
>>>> 
>>>> If you search for 09:44: (the time of the OOM kills) it looks like
>>>> both swap partitions are equally used, but only 8% full.
>>>> 
>>>> At this point I'm wondering if the gstat interval (presently 10 seconds)
>>>> might well be shortened and the ten second sleep eliminated. On the runs
>>>> that succeed swap usage changes little in twenty seconds, but the failures
>>>> seem to to culminate rather briskly.
>>> 
>>> One thing I find interesting somewhat before the OOM activity is
>>> the 12355 ms/w and 12318 ms/w on da0 and da0d that goes along
>>> with having 46 or 33 L(q) and large %busy figures in the same
>>> lines --and 0 w/s on every line:
>>> 
>>> Mon Jun 18 09:42:05 PDT 2018
>>> Device          1K-blocks     Used    Avail Capacity
>>> /dev/da0b         1048576     3412  1045164     0%
>>> /dev/mmcsd0s3b    1048576     3508  1045068     0%
>>> Total             2097152     6920  2090232     0%
>>> dT: 10.043s  w: 10.000s
>>> L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>>>   0      0      0      0    0.0      0      9   10.8      0      0    0.0    0.1  mmcsd0
>>>  46      0      0      0    0.0      0     16  12355      0      0    0.0   85.9  da0
>>>   0      0      0      0    0.0      0      9   10.8      0      0    0.0    0.1  mmcsd0s3
>>>   0      0      0      0    0.0      0      9   10.8      0      0    0.0    0.1  mmcsd0s3a
>>>  33      0      0      0    0.0      0     22  12318      0      0    0.0  114.1  da0d
>>> Mon Jun 18 09:42:25 PDT 2018
>>> Device          1K-blocks     Used    Avail Capacity
>>> /dev/da0b         1048576     3412  1045164     0%
>>> /dev/mmcsd0s3b    1048576     3508  1045068     0%
>>> Total             2097152     6920  2090232     0%
>>> 
>>> 
>>> The kBps figures for the writes are not very big above.
>>> 
>> 
>> If it takes 12 seconds to write, I can understand the swapper getting impatient....
>> However, the delay is on /usr, not swap.
>> 
>> In the subsequent 1 GB USB flash-alone test case at
>> http://www.zefox.net/~fbsd/rpi3/swaptests/newtests/1gbusbflash_swapinfo/1gbusbflash_swapinfo.log
>> the worst-case seems to be at time 13:45:00
>> 
>> dT: 13.298s  w: 10.000s
>> L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>>   0      0      0      0    0.0      0      5    5.5      0      0    0.0    0.1  mmcsd0
>>   9     84      0      0    0.0     84   1237   59.6      0      0    0.0   94.1  da0
>>   0      0      0      0    0.0      0      5    5.5      0      0    0.0    0.1  mmcsd0s3
>>   0      0      0      0    0.0      0      5    5.6      0      0    0.0    0.1  mmcsd0s3a
>>   5     80      0      0    0.0     80   1235   47.2      0      0    0.0   94.1  da0b
>>   4      0      0      0    0.0      0      1   88.1      0      0    0.0    0.7  da0d
>> Mon Jun 18 13:45:00 PDT 2018
>> Device          1K-blocks     Used    Avail Capacity
>> /dev/da0b         1048576    22872  1025704     2%
>> 
>> 1.2 MB/s writing to swap seems not too shabby, hardly reason to kill a process.
> 
> That is kBps instead of ms/w.
> 
> I see a ms/w (and ms/r) that is fairly large (but notably
> smaller than the ms/w of over 12000):
> 
> Mon Jun 18 13:12:58 PDT 2018
> Device          1K-blocks     Used    Avail Capacity
> /dev/da0b         1048576        0  1048576     0%
> dT: 10.400s  w: 10.000s
> L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>    0      4      0      0    0.0      4     66    3.4      0      0    0.0    1.3  mmcsd0
>    8     18      1     32   1991     17    938   2529      0      0    0.0   88.1  da0
>    0      4      0      0    0.0      4     63    3.5      0      0    0.0    1.3  mmcsd0s3
>    0      4      0      0    0.0      4     63    3.5      0      0    0.0    1.3  mmcsd0s3a
>    6     11      1     32   1991     10    938   3207      0      0    0.0   94.7  da0d
> Mon Jun 18 13:13:19 PDT 2018
> Device          1K-blocks     Used    Avail Capacity
> /dev/da0b         1048576        0  1048576     0%
> 
> 
> Going in a different direction, I believe that you have
> reported needing more than 1 GiByte of swap space so the
> 1048576 "1K-blocks" would not be expected to be sufficient.
> So the specific failing point may well be odd but the build
> would not be expected to finish without an OOM for this
> context if I understand right.
> 
>> Thus far I'm baffled. Any suggestions?
> 
> Can you get a failure without involving da0, the drive that is
> sometimes showing these huge ms/w (and ms/r) figures? (This question
> presumes having sufficient swap space, so, say, 1.5 GiByte or more
> total.)
> 
> Having the partition(s) each be sufficiently sized but for which
> the total would not produce the notice for too large of a swap
> space was my original "additional" suggestion. I still want to
> see what such does as a variation of a failing context. But now
> it would seem to be a good idea to avoid da0 and its sometimes
> large ms/w and /ms/r figures.
> 

One more point: I'd suggest avoiding da0 for holding any log files
or other such files that are being updated and used: Avoid da0
as much as possible, not just its swap partition(s).

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list