[dpdk-users] rte_eal_init fails with --socket-mem set to more than 192MB per socket

Sarthak Ray sarthak_ray at outlook.com
Thu Sep 1 08:46:53 CEST 2016


Hi Keith,


Thanks for your response; but I am reserving enough hugepages during boot time so that user space can't fragment those memories.


System boot arguments related to hugepages

hugepagesz=1g hugepages=24 hugepagesz=2m hugepages=1024


Memory status before my application starts.

# cat /proc/meminfo

MemTotal:       131990816 kB

MemFree:        103888408 kB

Buffers:             220 kB

Cached:           326596 kB

SwapCached:            0 kB

Active:           619104 kB

Inactive:         309796 kB

Active(anon):     602108 kB

Inactive(anon):      952 kB

Active(file):      16996 kB

Inactive(file):   308844 kB

Unevictable:           0 kB

Mlocked:               0 kB

SwapTotal:             0 kB

SwapFree:              0 kB

Dirty:              2252 kB

Writeback:             0 kB

AnonPages:        601976 kB

Mapped:            41560 kB

Shmem:               976 kB

Slab:             130140 kB

SReclaimable:      69672 kB

SUnreclaim:        60468 kB

KernelStack:        6104 kB

PageTables:        10320 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:    52888208 kB

Committed_AS:    1771680 kB

VmallocTotal:   34359738367 kB

VmallocUsed:     1310168 kB

VmallocChunk:   34291387912 kB

HugePages_Total:     512

HugePages_Free:      512

HugePages_Rsvd:        0

HugePages_Surp:        0

Hugepagesize:       2048 kB

DirectMap4k:       12480 kB

DirectMap2M:     1906688 kB

DirectMap1G:    134217728 kB


Memory status after my application exits with rte_eal_init failure.

# cat /proc/meminfo

MemTotal:       131990816 kB

MemFree:        99747864 kB

Buffers:             240 kB

Cached:           440156 kB

SwapCached:            0 kB

Active:           839728 kB

Inactive:         327164 kB

Active(anon):     820448 kB

Inactive(anon):     1920 kB

Active(file):      19280 kB

Inactive(file):   325244 kB

Unevictable:     3704100 kB

Mlocked:         3704100 kB

SwapTotal:             0 kB

SwapFree:              0 kB

Dirty:              7832 kB

Writeback:             0 kB

AnonPages:       4433016 kB

Mapped:           135536 kB

Shmem:              9088 kB

Slab:             133932 kB

SReclaimable:      71568 kB

SUnreclaim:        62364 kB

KernelStack:        7344 kB

PageTables:        20876 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:    52798096 kB

Committed_AS:    5902824 kB

VmallocTotal:   34359738367 kB

VmallocUsed:     1310168 kB

VmallocChunk:   34291387912 kB

HugePages_Total:     600

HugePages_Free:        0

HugePages_Rsvd:        0

HugePages_Surp:        0

Hugepagesize:       2048 kB

DirectMap4k:       12480 kB

DirectMap2M:     1906688 kB

DirectMap1G:    134217728 kB



Thanks,

Sarthak

________________________________
From: Wiles, Keith <keith.wiles at intel.com>
Sent: Thursday, September 1, 2016 1:28:36 AM
To: Sarthak Ray
Cc: users at dpdk.org
Subject: Re: [dpdk-users] rte_eal_init fails with --socket-mem set to more than 192MB per socket


Regards,
Keith

> On Aug 31, 2016, at 2:15 PM, Sarthak Ray <sarthak_ray at outlook.com> wrote:
>
> Hi,
>
> I am using dpdk-2.1.0 and I am not able to reserve memory beyond 192MB per socket by using --socket-mem option. I see below error logs, though my system has enough free memory.
>
> EAL: Not enough memory available on socket 0! Requested: 256MB, available: 192MB
> PANIC in rte_eal_init():
\Most of the time this means that contiguous memory is not available and you have fragmented huge pages. The normal fix is to make sure you allocate the huge pages early in boot up, which to me means making sure you have the /etc/sysctl.conf file setup with the number of huge pages.

vm.nr_hugepages=NNN

>
> # numactl -H
> available: 2 nodes (0-1)
> node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
> node 0 size: 65170 MB
> node 0 free: 47433 MB
> node 1 cpus: 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
> node 1 size: 65536 MB
> node 1 free: 49999 MB
> node distances:
> node   0   1
>  0:  10  21
>  1:  21  10
>
> Is there any max limit for reserving memory per socket? If yes, then please suggest me how to increase that limit.
>
> Thanks in advance,
> Sarthak



More information about the users mailing list