Ocorreu um erro de "falha de alocação de página" em meu sistema RHEL7. Aqui está:
kernel: [85531.010995] sh: falha de alocação de página: ordem:4, modo:0x2040d0 kernel: [85531.011000] CPU: 1 PID: 20846 Comm: sh Não contaminado 3.10.0-693.el7.AV1.x86_64 #1 kernel: [85531.011002] Nome do hardware: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 21/09/2015 kernel: [85531.011003] 00000000002040d0 00000000d00413f4 ffff8800070ffa18 ffffffff816a3e1d kernel: [85531.011006] ffff8800070ffaa8 ffffffff81188d00 0000000000000000 ffff88023ffd8000 kernel: [85531.011008] 0000000000000004 00000000002040d0 ffff8800070ffaa8 00000000d00413f4 kernel: [85531.011010] Rastreamento de chamada: kernel: [85531.011018] [] dump_stack+0x19/0x1b kernel: [85531.011023] [] warning_alloc_failed+0x110/0x180 kernel: [85531.011026] [] __alloc_pages_slowpath+0x6b6/0x724 kernel: [85531.011028] [] __alloc_pages_nodemask+0x405/0x420 kernel: [85531.011031] [] alloc_pages_current+0x98/0x110 kernel: [85531.011035] [] new_slab+0x2fc/0x310 kernel: [85531.011037] [] ___slab_alloc+0x3ac/0x4f0 kernel: [85531.011042] [] ? copy_process+0x18e/0x19a0 kernel: [85531.011044] [] ? copy_process+0x18e/0x19a0 kernel: [85531.011046] [] __slab_alloc+0x40/0x5c kernel: [85531.011049] [] kmem_cache_alloc_node+0x8b/0x200 kernel: [85531.011051] [] copy_process+0x18e/0x19a0 kernel: [85531.011053] [] do_fork+0x91/0x320 kernel: [85531.011056] [] SyS_clone+0x16/0x20 kernel: [85531.011059] [] stub_clone+0x69/0x90 kernel: [85531.011061] [] ? system_call_fastpath+0x16/0x1b kernel: [85531.011062] Mem-Info: kernel: [85531.011066] anon_ativo:1145227 anon_inativo:278512 anon_isolado:0 kernel: [85531.011066] arquivo_ativo:181319 arquivo_inativo:185784 arquivo_isolado:0 kernel: [85531.011066] inevitável:2695 sujo:4333 writeback:0 instável:0 kernel: [85531.011066] slab_reclaimable:45889 slab_unreclaimable:54798 kernel: [85531.011066] mapeado:79471 shmem:52418 pagetables:11994 bounce:0 kernel: [85531.011066] grátis:33850 free_pcp:0 free_cma:0 kernel: [85531.011069] Nó 0 DMA livre:15868kB min:132kB baixo:164kB alto:196kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolado(anon):0kB isolado(arquivo):0kB presente:15992kB gerenciado:15908kB mlocked:0kB sujo:0kB writeback:0kB mapeado:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:8kB kernel_stack:0kB tabelas de paginação:0kB instável:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB páginas 0 all_unreclaimable? sim kernel: [85531.011073] lowmem_reserve[]: 0 2809 7800 7800 kernel: [85531.011076] Nó 0 DMA32 Free: 53892kb min: 24292kb Low: 30364kb de altura: 36436kb ativo_anon: 1622080kb inactive_anon: 516652kb ativo_file: 2022084kb inactive_anon: 516652kb: managed:2878656kB mlocked:2312kB dirty:6236kB writeback:0kB mapped:115972kB shmem:79808kB slab_reclaimable:77740kB slab_unreclaimable:90500kB kernel_stack:13680kB pagetables:17624kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned: 0 all_unreclaimable? não kernel: [85531.011080] lowmem_reserve[]: 0 0 4990 4990 kernel: [85531.011082] Nó 0 Normal livre:65640kB min:43152kB baixo:53940kB alto:64728kB active_anon:2958828kB inactive_anon:597396kB active_file:522032kB inactive_file:531032kB unevictable:8468kB isolado (anon) managed:5110372kB mlocked:8464kB dirty:11096kB writeback:0kB mapped:201912kB shmem:129864kB slab_reclaimable:105816kB slab_unreclaimable:128684kB kernel_stack:19936kB pagetables:30352kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned: 0 all_unreclaimable? não kernel: [85531.011085] lowmem_reserve[]: 0 0 0 0 kernel: [85531.011087] Nó 0 DMA: 1*4kB (U) 1*8kB (U) 1*16kB (U) 1*32kB (U) 1*64kB (U) 1*128kB (U) 1*256kB (U) ) 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15868kB kernel: [85531.011095] Nó 0 DMA32: 2946*4kB (UEM) 1995*8kB (UEM) 1241*16kB (UEM) 186*32kB (UEM) 9*64kB (U) 0*128kB 0*256kB 0*512kB 0* 1024kB 0*2048kB 0*4096kB = 54128kB kernel: [85531.011102] Nó 0 Normal: 16005*4kB (UEM) 248*8kB (UEM) 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 66004k kernel: [85531.011108] Nó 0 enormepages_total=0 enormepages_free=0 enormepages_surp=0 enormepages_size=2048kB kernel: [85531.011109] 428930 páginas totais de pagecache kernel: [85531.011110] 8261 páginas no cache de troca kernel: [85531.011111] Troque as estatísticas do cache: adicione 51264, exclua 43003, localize 2892763/2894481 kernel: [85531.011112] Troca livre = 5078128kB kernel: [85531.011113] Troca total = 5242876kB kernel: [85531.011114] 2097038 páginas RAM kernel: [85531.011114] 0 páginas HighMem/MovableOnly kernel: [85531.011115] 95804 páginas reservadas kernel: [85531.011116] SLUB: Não é possível alocar memória no nó -1 (gfp=0xd0) kernel: [85531.011118] cache: task_struct, tamanho do objeto: 45024, tamanho do buffer: 45024, ordem padrão: 4, ordem mínima: 4 kernel: [85531.011119] node 0: slabs: 2114, objs: 2114, free: 0
A pergunta é sobre a última seção de sua mensagem:
kernel: [85531.011116] SLUB: Não é possível alocar memória no nó -1 (gfp=0xd0) kernel: [85531.011118] cache: task_struct, tamanho do objeto: 45024, tamanho do buffer: 45024, ordem padrão: 4, ordem mínima: 4 kernel: [85531.011119] node 0: slabs: 2114, objs: 2114, free: 0
Por que o índice do nó tem -1
, quando a alocação falha na zona de Node 0
? Isso é meio confuso..
kernel: [85531.011087] Nó 0 DMA: 1*4kB (U) 1*8kB (U) 1*16kB (U) 1*32kB (U) 1*64kB (U) 1*128kB (U) 1*256kB (U) ) 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15868kB kernel: [85531.011095] Nó 0 DMA32: 2946*4kB (UEM) 1995*8kB (UEM) 1241*16kB (UEM) 186*32kB (UEM) 9*64kB (U) 0*128kB 0*256kB 0*512kB 0* 1024kB 0*2048kB 0*4096kB = 54128kB kernel: [85531.011102] Nó 0 Normal: 16005*4kB (UEM) 248*8kB (UEM) 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 66004k
Nó -1 significa "qualquer nó". Você provavelmente só tem um nó. O kernel da Red Hat é configurado para rodar em máquinas de nó único, emulando uma máquina NUMA com apenas um nó. Verifique seu log de inicialização (/var/log/dmesg). Eu tenho: