From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linhaifeng Subject: Re: mmap failed: Cannot allocate memory when init dpdk eal Date: Fri, 30 Jan 2015 20:24:14 +0800 Message-ID: <54CB77EE.6020100@huawei.com> References: <54CB6DAA.4060908@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gbk" Content-Transfer-Encoding: quoted-printable To: "zhangsha (A)" , Return-path: In-Reply-To: <54CB6DAA.4060908-hv44wF8Li93QT0dZR+AlfA@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On 2015/1/30 19:40, zhangsha (A) wrote: > Hi =A3=ACall >=20 > I am suffering from the problem mmap failed as followed when init dpdk = eal. >=20 > Fri Jan 30 09:03:29 2015:EAL: Setting up memory... > Fri Jan 30 09:03:34 2015:EAL: map_all_hugepages(): mmap failed: Cannot = allocate memory > Fri Jan 30 09:03:34 2015:EAL: Failed to mmap 2 MB hugepages > Fri Jan 30 09:03:34 2015:EAL: Cannot init memory >=20 > Before I run the demo, the free hugepages of my host is : >=20 > cat /proc/meminfo > MemTotal: 132117056 kB > MemFree: 122040292 kB > Buffers: 10984 kB > Cached: 123056 kB > SwapCached: 0 kB > Active: 120812 kB > Inactive: 85860 kB > Active(anon): 79488 kB > Inactive(anon): 364 kB > Active(file): 41324 kB > Inactive(file): 85496 kB > Unevictable: 23576 kB > Mlocked: 23576 kB > SwapTotal: 0 kB > SwapFree: 0 kB > Dirty: 2576 kB > Writeback: 0 kB > AnonPages: 96236 kB > Mapped: 19936 kB > Shmem: 552 kB > Slab: 101344 kB > SReclaimable: 24164 kB > SUnreclaim: 77180 kB > KernelStack: 2544 kB > PageTables: 4180 kB > NFS_Unstable: 0 kB > Bounce: 0 kB > WritebackTmp: 0 kB > CommitLimit: 61864224 kB > Committed_AS: 585844 kB > VmallocTotal: 34359738367 kB > VmallocUsed: 518656 kB > VmallocChunk: 34292133264 kB > HardwareCorrupted: 0 kB > AnonHugePages: 4096 kB > HugePages_Total: 4096 > HugePages_Free: 4096 > HugePages_Rsvd: 0 > HugePages_Surp: 0 > Hugepagesize: 2048 kB > DirectMap4k: 96256 kB > DirectMap2M: 6178816 kB > DirectMap1G: 127926272 kB >=20 > And after the demo executed, I got the hugepages like this: >=20 > cat /proc/meminfo > MemTotal: 132117056 kB > MemFree: 117325180 kB > Buffers: 33508 kB > Cached: 721912 kB > SwapCached: 0 kB > Active: 4217712 kB > Inactive: 540956 kB > Active(anon): 4019068 kB > Inactive(anon): 121136 kB > Active(file): 198644 kB > Inactive(file): 419820 kB > Unevictable: 23908 kB > Mlocked: 23908 kB > SwapTotal: 0 kB > SwapFree: 0 kB > Dirty: 2856 kB > Writeback: 0 kB > AnonPages: 4035184 kB > Mapped: 160292 kB > Shmem: 122100 kB > Slab: 177908 kB > SReclaimable: 64808 kB > SUnreclaim: 113100 kB > KernelStack: 7560 kB > PageTables: 62128 kB > NFS_Unstable: 0 kB > Bounce: 0 kB > WritebackTmp: 0 kB > CommitLimit: 61864224 kB > Committed_AS: 8789664 kB > VmallocTotal: 34359738367 kB > VmallocUsed: 527296 kB > VmallocChunk: 34292122604 kB > HardwareCorrupted: 0 kB > AnonHugePages: 262144 kB > HugePages_Total: 4096 > HugePages_Free: 2048 > HugePages_Rsvd: 0 > HugePages_Surp: 0 > Hugepagesize: 2048 kB > DirectMap4k: 141312 kB > DirectMap2M: 9279488 kB > DirectMap1G: 124780544 kB >=20 > Only the hugepages beyond to node1 was mapped. I was told host(having 6= 4bit OS) cannot allocate memory while node0 has 2048 free hugepages,why? > Dose anyone encountered the similar problem ever? > Any response will be appreciated! > Thanks! >=20 >=20 >=20 >=20 How do you tell kernel not to allocate memory on node0? I guess node0 and node1 both have 2048 hugepages and you want to mmap 409= 6 hugepages. So you can mmap 2048 hugepages on node1.After this step you cannot mmap a= ny hugepage files because you tell kernel not to allocate memory on node0. --=20 Regards, Haifeng