[OE-core] [PATCH] core-image-sato-sdk: test image with 512M memory
Kang Kai
Kai.Kang at windriver.com
Fri Aug 16 06:53:42 UTC 2019
On 2019/8/12 下午4:57, Kang Kai wrote:
> On 2019/7/27 下午4:42, Kang Kai wrote:
>> On 2019/7/27 上午5:40, richard.purdie at linuxfoundation.org wrote:
>>> On Fri, 2019-07-26 at 05:23 -0400, kai.kang at windriver.com wrote:
>>>> From: Kai Kang <kai.kang at windriver.com>
>>>>
>>>> When run do_testimage for core-image-sato-sdk, it fails to pass test
>>>> case:
>>>>
>>>>> RESULTS - systemd.SystemdBasicTests.test_systemd_failed: FAILED
>>>>> (0.43s)
>>>> It is OOM issue and daemon rpc.statd is killed:
>>>>
>>>>> [ 531.306146] Out of memory: Kill process 193 (rpc.statd) score
>>>>> 200 or sacrifice child
>>>> Increase the memory of qemu to 512M to avoid such OOM issue.
>>>>
>>>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>>>> ---
>>>> meta/recipes-sato/images/core-image-sato-sdk.bb | 1 +
>>>> 1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/meta/recipes-sato/images/core-image-sato-sdk.bb
>>>> b/meta/recipes-sato/images/core-image-sato-sdk.bb
>>>> index d7cc52b52b..f7963d018e 100644
>>>> --- a/meta/recipes-sato/images/core-image-sato-sdk.bb
>>>> +++ b/meta/recipes-sato/images/core-image-sato-sdk.bb
>>>> @@ -9,3 +9,4 @@ IMAGE_FEATURES += "dev-pkgs tools-sdk \
>>>> IMAGE_INSTALL += "kernel-devsrc"
>>>> +TEST_QEMUPARAMS = "-m 512"
>>> Any idea what is using so much memory in the image when this happens?
>>>
>>> Its rather sad that we can't have NFS+systemd with 256MB memory...
>>
>> It caused by stap test case. I minimized the test cases to
>>
>> TEST_SUITES = "ping date ssh systemd stap kernelmodule gcc "
>>
>> which could reproduce the error.
>>
>> And it PASSes testimage that remove stap test from default TEST_SUITES:
>>
>> TEST_SUITES_remove = 'stap'
>>
>> But I can't reproduce the OOM failure to run stap tests manually.
>
> Hi Richard,
>
> The root cause of test case stap fails is available memory is too low.
> Compare systemd with sysvinit, memory status are listed:
>
> systemd:
> root at qemux86:~# free -h
> total used free shared buff/cache
> available
> Mem: 239Mi 120Mi 23Mi 8.0Mi 94Mi 100Mi
> Swap: 0B 0B 0B
>
> sysvinit:
> root at qemux86:~# free -h
> total used free shared buff/cache
> available
> Mem: 239Mi 45Mi 111Mi 0.0Ki 82Mi 184Mi
> Swap: 0B 0B 0B
>
>
> With systemd, processes of rpc.statd and rpc.mountd take about less
> than 80M memories.
> And I compared with Debian 10, they take similar size of memories.
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 464 rpcuser 20 0 56316 51336 2192 S 0.0 20.9 0:00.09
> rpc.statd
> 186 root 20 0 30136 27024 2280 S 0.0 11.0 0:00.02
> rpc.mountd
>
>
> Compare to sysvinit, they take only about 2M and 448K:
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 567 rpcuser 20 0 3444 2372 1792 S 0.0 1.0 0:00.00
> rpc.statd
> 677 root 20 0 3700 448 0 S 0.0 0.2 0:00.00
> rpc.mountd
>
>
> I didn't figure out the differences between these 2 ways to start the
> commands:
>
> ExecStart=/usr/sbin/rpc.statd -F $STATD_OPTS
>
> Vs.
>
> test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd
> start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID"
Hi Richard,
Any more comment here please?
Regards,
Kai
>
>
> Regards,
> Kai
>
>
>
>
>>
>>
>> Regards,
>> Kai
>>
>>>
>>> Cheers,
>>>
>>> Richard
>>>
>>>
>>
>
--
Kai Kang
More information about the Openembedded-core
mailing list