LINUX.ORG.RU
ФорумAdmin

Linux kernel 6.1+ memory used ~80%

 , , , ,


0

3

На свеже установленных («пустых») дистрибутивах семейства Debian (пробовал Proxmox VE 8.3, Ubuntu 24.04, Debian 12, Astra Linux SE 1.8) с ядром 6.1 и выше - free , top, веб морда Proxmox и т.д. показывает used примерно 80% на постоянной основе. На дистрибутивах с 5м ядром (Ubuntu 20.04, Debian 11, Astra Linux SE 1.7) такой ерунды не наблюдается.

Может кто сталкивался, как победить?

Гуглинг пока что ни к чему схожему не привел, в основном все ссылаются на то что так устроена работа ядра с памятью и когда память понадобится, ядро ее отдаст, но судя по столбцам buff/cache/available вывода top - освобождаться там особо нечему - *Сужу со своей колокольни на основе вывода free и top, но это не точно - в виду невысокого опыта.

Ядро 6.1 (Debian 12) - проблемный:

~$ echo = = = Free = = =; free -m ; echo; echo = = = TOP = = =; top -bn1 -o%MEM | head
= = = Free = = =
               total        used        free      shared  buff/cache   available
Mem:            7577        5931        1446           1         452        1646
Swap:            975           0         975

= = = TOP = = =
top - 12:28:19 up  1:05,  1 user,  load average: 0,02, 0,05, 0,03
Tasks: 262 total,   1 running, 261 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,0 us,  2,2 sy,  0,0 ni, 94,6 id,  3,3 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   7577,3 total,   1443,6 free,   5933,8 used,    453,1 buff/cache
MiB Swap:    976,0 total,    976,0 free,      0,0 used.   1643,5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    444 root      20   0  143592  84388  81228 S   5,9   1,1   0:14.57 systemd+
      1 root      20   0  167776  12172   9120 S   0,0   0,2   0:02.46 systemd
  20391 root      20   0   17732  10860   9260 S   0,0   0,1   0:00.07 sshd

Ядро 5.10 (Debian 11) - проблема НЕ наблюдается:

~$ echo = = = Free = = =; free -m ; echo; echo = = = TOP = = =; top -bn1 -o%MEM | head
= = = Free = = =
               total        used        free      shared  buff/cache   available
Mem:            7593         336        7124           1         132        7052
Swap:            975           0         975

= = = TOP = = =
top - 15:13:01 up 43 min,  1 user,  load average: 0,01, 0,01, 0,00
Tasks: 251 total,   1 running, 250 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,3 us,  0,3 sy,  0,0 ni, 99,4 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   7593,6 total,   7124,8 free,    336,1 used,    132,6 buff/cache
MiB Swap:    976,0 total,    976,0 free,      0,0 used.   7052,9 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    434 root      20   0   72800  32780  31876 S   0,0   0,4   0:00.30 systemd-journal
      1 root      20   0  163708  10092   7744 S   0,0   0,1   0:01.61 systemd
  10525 root      20   0   14452   8656   7428 S   0,0   0,1   0:00.07 sshd

В /proc/meminfo ничего не увидел криминального (возможно не туда смотрел в виду опыта) кроме как того что у проблемной версии ядер почему то низкий MemFree который задействуется в расчете used команд top и free

Ядро 6.1 (Debian 12) - проблемный:

~$ cat /proc/meminfo
MemTotal:        7759188 kB
MemFree:         1483112 kB
MemAvailable:    1683256 kB
Buffers:          151028 kB
Cached:           242592 kB
SwapCached:            0 kB
Active:           256324 kB
Inactive:         168196 kB
Active(anon):        624 kB
Inactive(anon):    31752 kB
Active(file):     255700 kB
Inactive(file):   136444 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        999420 kB
SwapFree:         999420 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:              2988 kB
Writeback:             0 kB
AnonPages:         30936 kB
Mapped:            65216 kB
Shmem:              1452 kB
KReclaimable:      65548 kB
Slab:             434408 kB
SReclaimable:      65548 kB
SUnreclaim:       368860 kB
KernelStack:        4536 kB
PageTables:         1472 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4879012 kB
Committed_AS:     139948 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       36264 kB
VmallocChunk:          0 kB
Percpu:            32352 kB
HardwareCorrupted:     0 kB
AnonHugePages:      4096 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      220572 kB
DirectMap2M:     5699584 kB
DirectMap1G:     4194304 kB

Ткните куда копать, что не так.

Не знаю важно ли Железо, но есть с ним один нюанс:

  1. Процессор: Intel Xeon Silver 4210R 2,4GHz
  2. Память: Kingston DDR4 3200 MGz ECC REG 8Gb
  3. Материнская плата (собственно сам нюансик): Гравитон ЕЦРТ.469555.001 SMB-C621-ATX01 Тайга - Чипсет у нее Intel C621


Последнее исправление: alexla (всего исправлений: 5)

показывает used примерно 80% на постоянной основе

Может кто сталкивался, как победить?

Эти ‘неправильные’ циферки как-то влияют на субъективную производительность?

с ядром 6.1 и выше

Скинь еще free -m для актуального ядра 6.12.

krasnh ★★★★
()

На свеже установленных («пустых») дистрибутивах семейства Debian

На debian 12 не сталкивался. Что-то у тебя не так

  • это ВМ? Если да и есть гостевые драйверы, гипервизор мог отобрать неиспользуемую память. особенно если ему не хватает
  • какой-нибудь zram / zswap не используется?
router ★★★★★
()
Ответ на: комментарий от router

это ВМ? Если да и есть гостевые драйверы, гипервизор мог отобрать неиспользуемую память. особенно если ему не хватает

Это называется memory ballooning

Гугл говорит, что на стороне гипервизора proxmox можно проверить состояние так:

With qm monitor YourVMID you can enter the monitor shell of a VM. With info balloon you can then see how much ballooning reduced the RAM. quit to exit the shell. But not sure how useful that is to you.

Но вообще по логике оно и в веб-морде где-то должно отображаться

https://pve.proxmox.com/wiki/Dynamic_Memory_Management#Ballooning

Modern Linux Kernels does include the Balloon drivers by default. It works out of the box, and you only need to set the VM to «Automatically allocate memory within this range»

router ★★★★★
()
Последнее исправление: router (всего исправлений: 2)

У тебя наверное память каким-то образом зарезервирована. Проверь ‘sudo cat /proc/iomem’ и ‘sudo dmesg | grep -i reserved’. У меня, например, вывод второго:

[    0.292761] Memory: 61248596K/62547764K available (22528K kernel code, 4428K rwdata, 16768K rodata, 4876K init, 4732K bss, 1273396K reserved, 0K cma-reserved)
rupert ★★★★★
()
Ответ на: комментарий от Obezyan

Спасибо за наводку, интересная и сложная тема. Попробовал по рекомендациям в интернетах отключить transparent huge pages через загрузчик. Желаемого результата к сожалению не дало.

Сейчас под рукой Astra 1.8 Ядро 6.6 (считай Debian 12) - протестил на ней пока что.

~$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
sadmin@astra:~$
sadmin@astra:~$ echo = = = Free = = =; free -m ; echo; echo = = = TOP = = =; top -bn1 -o%MEM | head
= = = Free = = =
               total        used        free      shared  buff/cache   available
Mem:            7589        6051        1040          17         615        1537
Swap:            975           0         975

= = = TOP = = =
top - 19:40:11 up 50 min,  1 user,  load average: 0,00, 0,00, 0,00
Tasks: 305 total,   1 running, 304 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,7 us,  0,7 sy,  0,0 ni, 94,7 id,  3,9 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   7589,3 total,   1036,9 free,   6054,5 used,    615,9 buff/cache
MiB Swap:    976,0 total,    976,0 free,      0,0 used.   1534,8 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   3688 fly-dm    20   0 1754136 182584  56792 S   0,0   2,3   0:01.86 fly-dm_+
   3640 fly-dm    -2   0 3036572 102224  70420 S   0,0   1,3   0:00.92 Xorg
   3745 fly-dm    20   0  502204  52932  46692 S   0,0   0,7   0:00.25 org_kde+
alexla
() автор топика
Ответ на: комментарий от cobold

Ну конечно я в курсе о этом механизме работы с память и ознакомился с этой страничкой на самых первых этапах поиска схожей проблемы - на нее ссылаются 146% интернета в первую очередь. Но моя история не про это (как мне кажется) и я об этом написал в старт посте - нечего там освобождать 5 гигов что то сжирает перманентно.

alexla
() автор топика
Ответ на: комментарий от router

Нет, это не Виртуальная машина, ставил все дистрибутивы напрямую на голое железо.

Сам я zram / zswap целенаправленно не ставил/настраивал.

$ sudo zramctl
sadmin@astra:~$ sudo systemctl status zramswap
Unit zramswap.service could not be found.

Все тестируемы дистрибутивы ставились с настройками по умолчанию что предлагали установщики. Разметку выбирал LVM автоматически на весь диск.

alexla
() автор топика
Ответ на: комментарий от Aceler

drop_caches

# sync; echo 3 > /proc/sys/vm/drop_caches
root@astra:/home/sadmin# echo = = = Free = = =; free -m ; echo; echo = = = TOP = = =; top -bn1 -o%MEM | head
= = = Free = = =
               total        used        free      shared  buff/cache   available
Mem:            7589        6037        1436          12         220        1551
Swap:            975           0         975

= = = TOP = = =
top - 20:43:43 up  1:54,  2 users,  load average: 0,13, 0,03, 0,01
Tasks: 309 total,   1 running, 308 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,3 us,  0,3 sy,  0,0 ni, 95,0 id,  4,5 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   7589,3 total,   1433,1 free,   6039,8 used,    221,5 buff/cache
MiB Swap:    976,0 total,    976,0 free,      0,0 used.   1549,5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   3688 fly-dm    20   0 1754136 182584  56792 S   0,0   2,3   0:02.45 fly-dm_+
   3640 fly-dm    -2   0 3036572 102224  70420 S   0,0   1,3   0:00.92 Xorg
   3745 fly-dm    20   0  502204  52932  46692 S   0,0   0,7   0:00.38 org_kde+
alexla
() автор топика
Ответ на: комментарий от rupert

Из зарезервированной памяти однозначно часть уходит на интегрированный видео адаптер, так как в UEFI как primary adapter указан именно интегрированный - нужно для того чтобы Remote KVM работал встроенный в BMC (*IPMI) материнки.

/proc/iomem чет вообще не понимаю куда тут смотреть, что бы получить осмысленную информацию, но тем не менее вот вывод, если ткнете мордой лица как правильно смотреть, буду признателен.

:~$ sudo cat /proc/iomem
00000000-00000fff : Reserved
00001000-0009d3ff : System RAM
0009d400-0009ffff : Reserved
000a0000-000bffff : PCI Bus 0000:00
000c0000-000c7fff : Video ROM
  000c4000-000c7fff : PCI Bus 0000:00
000c8000-000c8dff : Adapter ROM
000e0000-000fffff : Reserved
  000f0000-000fffff : System ROM
00100000-5d67cfff : System RAM
5d67d000-5daaffff : ACPI Non-volatile Storage
5dab0000-68fc3fff : System RAM
68fc4000-6c176fff : Reserved
  6b0fd018-6b0fd018 : APEI ERST
  6b0fd01c-6b0fd021 : APEI ERST
  6b0fd028-6b0fd039 : APEI ERST
  6b0fd040-6b0fd04c : APEI ERST
  6b0fd050-6b0ff04f : APEI ERST
6c177000-6c61bfff : System RAM
6c61c000-6d8b0fff : ACPI Non-volatile Storage
6d8b1000-6facefff : Reserved
6facf000-6fffffff : System RAM
70000000-8fffffff : Reserved
  80000000-8fffffff : PCI MMCONFIG 0000 [bus 00-ff]
90000000-aaffffff : PCI Bus 0000:00
  a9000000-aa0fffff : PCI Bus 0000:02
    a9000000-aa0fffff : PCI Bus 0000:03
      a9000000-a9ffffff : 0000:03:00.0
      aa000000-aa01ffff : 0000:03:00.0
  aa100000-aa17ffff : 0000:00:17.0
    aa100000-aa17ffff : ahci
  aa180000-aa1fffff : 0000:00:11.5
    aa180000-aa1fffff : ahci
  aa200000-aa203fff : 0000:00:1f.3
    aa200000-aa203fff : ICH HD audio
  aa204000-aa207fff : 0000:00:1f.2
  aa208000-aa209fff : 0000:00:17.0
    aa208000-aa209fff : ahci
  aa20a000-aa20bfff : 0000:00:11.5
    aa20a000-aa20bfff : ahci
  aa20c000-aa20c0ff : 0000:00:17.0
    aa20c000-aa20c0ff : ahci
  aa20d000-aa20d0ff : 0000:00:11.5
    aa20d000-aa20d0ff : ahci
  aa20e000-aa20efff : 0000:00:05.4
  aaffc000-aaffcfff : dmar3
ab000000-c5ffffff : PCI Bus 0000:16
  c0000000-c52fffff : PCI Bus 0000:18
    c0000000-c52fffff : PCI Bus 0000:19
      c0000000-c52fffff : PCI Bus 0000:1a
        c0000000-c0ffffff : 0000:1a:00.3
          c0000000-c0ffffff : i40e
        c1000000-c1ffffff : 0000:1a:00.2
          c1000000-c1ffffff : i40e
        c2000000-c2ffffff : 0000:1a:00.1
          c2000000-c2ffffff : i40e
        c3000000-c3ffffff : 0000:1a:00.0
          c3000000-c3ffffff : i40e
        c4000000-c43fffff : 0000:1a:00.3
        c4400000-c47fffff : 0000:1a:00.2
        c4800000-c4bfffff : 0000:1a:00.1
        c4c00000-c4ffffff : 0000:1a:00.0
        c5000000-c5007fff : 0000:1a:00.3
          c5000000-c5007fff : i40e
        c5008000-c500ffff : 0000:1a:00.2
          c5008000-c500ffff : i40e
        c5010000-c5017fff : 0000:1a:00.1
          c5010000-c5017fff : i40e
        c5018000-c501ffff : 0000:1a:00.0
          c5018000-c501ffff : i40e
        c5020000-c509ffff : 0000:1a:00.3
        c50a0000-c511ffff : 0000:1a:00.2
        c5120000-c519ffff : 0000:1a:00.1
        c51a0000-c521ffff : 0000:1a:00.0
  c5b00000-c5efffff : PCI Bus 0000:18
    c5b00000-c5bfffff : 0000:18:00.0
    c5c00000-c5dfffff : PCI Bus 0000:19
      c5c00000-c5dfffff : PCI Bus 0000:1a
        c5c00000-c5c7ffff : 0000:1a:00.3
        c5c80000-c5cfffff : 0000:1a:00.2
        c5d00000-c5d7ffff : 0000:1a:00.1
        c5d80000-c5dfffff : 0000:1a:00.0
    c5e00000-c5e1ffff : 0000:18:00.0
  c5f00000-c5f00fff : 0000:16:05.4
  c5ffc000-c5ffcfff : dmar0
c6000000-e0ffffff : PCI Bus 0000:64
  e0f00000-e0f00fff : 0000:64:05.4
  e0ffc000-e0ffcfff : dmar1
e1000000-fbffffff : PCI Bus 0000:b2
  fa000000-fb0fffff : PCI Bus 0000:b3
    fa000000-faffffff : 0000:b3:00.0
    fb000000-fb07ffff : 0000:b3:00.0
    fb080000-fb083fff : 0000:b3:00.1
      fb080000-fb083fff : ICH HD audio
  fb100000-fb100fff : 0000:b2:05.4
  fbffc000-fbffcfff : dmar2
fd000000-fe7fffff : Reserved
  fd000000-fdabffff : pnp 00:05
  fdad0000-fdadffff : pnp 00:05
  fdb00000-fdffffff : pnp 00:05
    fdc6000c-fdc6000f : iTCO_wdt
  fe000000-fe00ffff : pnp 00:05
  fe010000-fe010fff : PCI Bus 0000:00
    fe010000-fe010fff : 0000:00:1f.5
  fe011000-fe01ffff : pnp 00:05
  fe036000-fe03bfff : pnp 00:05
  fe03d000-fe3fffff : pnp 00:05
  fe410000-fe7fffff : pnp 00:05
fec00000-fecfffff : PNP0003:00
  fec00000-fec003ff : IOAPIC 0
  fec01000-fec013ff : IOAPIC 1
  fec08000-fec083ff : IOAPIC 2
  fec10000-fec103ff : IOAPIC 3
  fec18000-fec183ff : IOAPIC 4
fed00000-fed003ff : HPET 0
  fed00000-fed003ff : PNP0103:00
fed12000-fed1200f : pnp 00:01
fed12010-fed1201f : pnp 00:01
fed1b000-fed1bfff : pnp 00:01
fed20000-fed44fff : Reserved
fed45000-fed8bfff : pnp 00:01
fee00000-feefffff : pnp 00:01
ff000000-ffffffff : Reserved
  ff000000-ffffffff : pnp 00:01
100000000-27fffffff : System RAM
  276000000-276ffffff : Kernel code
  277000000-2775b4fff : Kernel rodata
  277600000-27792487f : Kernel data
  2781c6000-2785fffff : Kernel bss
20000000000-23fffffffff : PCI Bus 0000:00
  20000000000-200000000ff : 0000:00:1f.4
  23ffff00000-23ffff0ffff : 0000:00:1f.3
  23ffff10000-23ffff1ffff : 0000:00:14.0
    23ffff10000-23ffff1ffff : xhci-hcd
  23ffff20000-23ffff23fff : 0000:00:04.7
    23ffff20000-23ffff23fff : ioatdma
  23ffff24000-23ffff27fff : 0000:00:04.6
    23ffff24000-23ffff27fff : ioatdma
  23ffff28000-23ffff2bfff : 0000:00:04.5
    23ffff28000-23ffff2bfff : ioatdma
  23ffff2c000-23ffff2ffff : 0000:00:04.4
    23ffff2c000-23ffff2ffff : ioatdma
  23ffff30000-23ffff33fff : 0000:00:04.3
    23ffff30000-23ffff33fff : ioatdma
  23ffff34000-23ffff37fff : 0000:00:04.2
    23ffff34000-23ffff37fff : ioatdma
  23ffff38000-23ffff3bfff : 0000:00:04.1
    23ffff38000-23ffff3bfff : ioatdma
  23ffff3c000-23ffff3ffff : 0000:00:04.0
    23ffff3c000-23ffff3ffff : ioatdma
  23ffff40000-23ffff40fff : 0000:00:16.0
    23ffff40000-23ffff40fff : mei_me
  23ffff41000-23ffff41fff : 0000:00:14.2
    23ffff41000-23ffff41fff : Intel PCH thermal driver
24000000000-27fffffffff : PCI Bus 0000:16
28000000000-2bfffffffff : PCI Bus 0000:64
2c000000000-2ffffffffff : PCI Bus 0000:b2
  2fff0000000-2fff9ffffff : PCI Bus 0000:b3
    2fff0000000-2fff7ffffff : 0000:b3:00.0
    2fff8000000-2fff9ffffff : 0000:b3:00.0

alexla
() автор топика
Ответ на: комментарий от rupert

В dmesg | grep -i reserved в строке Memory: ***K/***K available не вижу ничего криминального и каких то астрономических чисел

~$ sudo dmesg | grep -i reserved
[    0.000000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000068fc4000-0x000000006c176fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000006d8b1000-0x000000006facefff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000070000000-0x000000008fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fd000000-0x00000000fe7fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed44fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.003855] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.004716] e820: update [mem 0x70000000-0x73ffffff] usable ==> reserved
[    0.004719] e820: update [mem 0x80000000-0xffffffff] usable ==> reserved
[    0.093451] Memory: 7687836K/8016908K available (16384K kernel code, 3218K rwdata, 5844K rodata, 3628K init, 4328K bss, 328812K reserved, 0K cma-reserved)
[    0.170290] PCI: MMCONFIG at [mem 0x80000000-0x8fffffff] reserved as E820 entry
[    0.511141] system 00:01: [io  0x0500-0x05fe] has been reserved
[    0.511141] system 00:01: [io  0x0400-0x047f] has been reserved
[    0.511141] system 00:01: [io  0x0600-0x061f] has been reserved
[    0.511141] system 00:01: [io  0x0880-0x0883] has been reserved
[    0.511141] system 00:01: [io  0x0800-0x081f] has been reserved
[    0.511141] system 00:01: [mem 0xfed1c000-0xfed3ffff] could not be reserved
[    0.511141] system 00:01: [mem 0xfed45000-0xfed8bfff] has been reserved
[    0.511141] system 00:01: [mem 0xff000000-0xffffffff] has been reserved
[    0.511141] system 00:01: [mem 0xfee00000-0xfeefffff] has been reserved
[    0.511141] system 00:01: [mem 0xfed12000-0xfed1200f] has been reserved
[    0.511141] system 00:01: [mem 0xfed12010-0xfed1201f] has been reserved
[    0.511141] system 00:01: [mem 0xfed1b000-0xfed1bfff] has been reserved
[    0.511433] system 00:02: [io  0x0a00-0x0a0f] has been reserved
[    0.511435] system 00:02: [io  0x0a10-0x0a1f] has been reserved
[    0.511437] system 00:02: [io  0x0a20-0x0a2f] has been reserved
[    0.511438] system 00:02: [io  0x0a30-0x0a3f] has been reserved
[    0.511440] system 00:02: [io  0x0a40-0x0a4f] has been reserved
[    0.512071] system 00:05: [mem 0xfd000000-0xfdabffff] has been reserved
[    0.512073] system 00:05: [mem 0xfdad0000-0xfdadffff] has been reserved
[    0.512075] system 00:05: [mem 0xfdb00000-0xfdffffff] has been reserved
[    0.512077] system 00:05: [mem 0xfe000000-0xfe00ffff] has been reserved
[    0.512078] system 00:05: [mem 0xfe011000-0xfe01ffff] has been reserved
[    0.512080] system 00:05: [mem 0xfe036000-0xfe03bfff] has been reserved
[    0.512082] system 00:05: [mem 0xfe03d000-0xfe3fffff] has been reserved
[    0.512084] system 00:05: [mem 0xfe410000-0xfe7fffff] has been reserved
[    0.512335] system 00:06: [io  0x0f00-0x0ffe] has been reserved

alexla
() автор топика
Ответ на: комментарий от rupert
~$ sudo python3 /home/sadmin/ps_mem.py
 Private  +   Shared  =  RAM used       Program

136.0 KiB +  60.5 KiB = 196.5 KiB       sleep
152.0 KiB +  47.5 KiB = 199.5 KiB       fly-getexe
304.0 KiB +  45.5 KiB = 349.5 KiB       acpid
312.0 KiB +  47.5 KiB = 359.5 KiB       sftp-server
296.0 KiB +  86.5 KiB = 382.5 KiB       cron
356.0 KiB +  43.5 KiB = 399.5 KiB       agetty
584.0 KiB +  76.5 KiB = 660.5 KiB       auditd
592.0 KiB + 163.5 KiB = 755.5 KiB       dbus-launch
552.0 KiB + 653.0 KiB =   1.2 MiB       avahi-daemon (2)
620.0 KiB +   1.2 MiB =   1.8 MiB       fly-dm (2)
  1.2 MiB + 621.5 KiB =   1.9 MiB       accounts-daemon
  1.4 MiB + 632.5 KiB =   2.0 MiB       upowerd
  1.5 MiB + 910.5 KiB =   2.4 MiB       systemd-logind
896.0 KiB +   1.6 MiB =   2.5 MiB       sudo (2)
  2.0 MiB + 736.0 KiB =   2.7 MiB       dbus-daemon (2)
  3.0 MiB + 240.5 KiB =   3.3 MiB       wpa_supplicant
  3.1 MiB +   1.1 MiB =   4.3 MiB       bash (2)
  3.6 MiB + 680.5 KiB =   4.3 MiB       polkitd
  5.3 MiB + 201.5 KiB =   5.5 MiB       systemd-udevd
  5.8 MiB + 901.5 KiB =   6.7 MiB       udisksd
  5.9 MiB + 956.5 KiB =   6.8 MiB       ModemManager
  9.8 MiB +   1.9 MiB =  11.8 MiB       cpupower-gui-he
 10.0 MiB +   1.8 MiB =  11.8 MiB       NetworkManager
  8.1 MiB +   4.4 MiB =  12.5 MiB       systemd-journald
  3.9 MiB +   9.4 MiB =  13.4 MiB       sshd (5)
  5.1 MiB +   9.7 MiB =  14.8 MiB       kscreend
  8.9 MiB +   8.9 MiB =  17.8 MiB       systemd (5)
 17.0 MiB +   1.7 MiB =  18.7 MiB       astra-event-dia
 10.0 MiB +  12.4 MiB =  22.4 MiB       org_kde_powerdevil
 28.3 MiB +   4.0 MiB =  32.3 MiB       syslog-ng
 85.9 MiB +   3.7 MiB =  89.6 MiB       Xorg
137.6 MiB +  13.8 MiB = 151.4 MiB       fly-dm_greet
---------------------------------
                        444.9 MiB
=================================

alexla
() автор топика
Ответ на: комментарий от Aceler

Затестил заполнение памяти с помощью stress-ng.

stress-ng --vm-bytes 5g -m 1

Поведение такое: stress-ng начинает работу, идет уменьшение free, available , used возрастает до максимума. Дальше заполняется Swap. После заполнения Swap срабатывает Out-Of-Memory Killer и убивает stress-ng-vm, память высвобождается до состояние перед запуском stress-ng. Дальше stress-ng стартует новый процесс и так по кругу, пока не остановишь stress-ng.

В общем не высвобождает система эти 5 Гигабайт, израсходует доступные ~1,5 Гб + Swap и все на этом.

Вывод free -m до старта stress-ng

~$ free -m
               total        used        free      shared  buff/cache   available
Mem:            7589        5822        1797           6          73        1766
Swap:            975         0         975

Вывод free -m после

~$ free -m
~$ free -m
               total        used        free      shared  buff/cache   available
Mem:            7589        5799        1809           5          92        1789
Swap:            975         275         700


alexla
() автор топика
Ответ на: комментарий от alexla

пришествие Out-Of-Memory Killer в dmesg:

[79772.509739] stress-ng-vm invoked oom-killer: gfp_mask=0x140dca(GFP_HIGHUSER_MOVABLE|__GFP_COMP|__GFP_ZERO), order=0, oom_score_adj=1000
[79772.509754] CPU: 13 PID: 485919 Comm: stress-ng-vm Tainted: G      D    OE      6.6.28-1-generic #astra2+ci23
[79772.509761] Hardware name: 3Logic Group Server Graviton/TAIGA, BIOS L2.19I 06/13/2024
[79772.509763] Call Trace:
[79772.509767]  <TASK>
[79772.509771]  dump_stack_lvl+0x43/0x70
[79772.509780]  dump_header+0x46/0x220
[79772.509789]  oom_kill_process+0xfc/0x190
[79772.509795]  out_of_memory+0xf8/0x330
[79772.509801]  __alloc_pages_may_oom+0x10d/0x1d0
[79772.509811]  __alloc_pages_slowpath.constprop.0+0x44e/0xb60
[79772.509817]  __alloc_pages+0x2c9/0x2e0
[79772.509821]  __folio_alloc+0x12/0x50
[79772.509824]  ? policy_node+0x58/0x70
[79772.509829]  vma_alloc_folio+0x98/0x3e0
[79772.509836]  wp_page_copy+0x355/0x5f0
[79772.509842]  __handle_mm_fault+0x5b1/0x6e0
[79772.509850]  handle_mm_fault+0x175/0x320
[79772.509856]  do_user_addr_fault+0x15b/0x690
[79772.509864]  exc_page_fault+0x67/0xc0
[79772.509871]  asm_exc_page_fault+0x22/0x30
[79772.509876] RIP: 0033:0x5f171934464d
[79772.509883] Code: Unable to access opcode bytes at 0x5f1719344623.
[79772.509885] RSP: 002b:00007fff074abf00 EFLAGS: 00010206
[79772.509890] RAX: 000074dd834eb000 RBX: 00005f17196a7f60 RCX: 000000000278b541
[79772.509893] RDX: 000074dce5216000 RSI: 000074dde5216000 RDI: 000000000278b540
[79772.509896] RBP: 00007fff074ac0f0 R08: 0000000000000000 R09: 0000000000000040
[79772.509899] R10: 000074dce5216000 R11: 0000000100000000 R12: 0000000000000000
[79772.509902] R13: 0000000000000000 R14: 00007fff074ac030 R15: 00005f1719324930
[79772.509907]  </TASK>
[79772.509909] Mem-Info:
[79772.509913] active_anon:271965 inactive_anon:201949 isolated_anon:0
                active_file:242 inactive_file:32 isolated_file:0
                unevictable:1287 dirty:37 writeback:7
                slab_reclaimable:5413 slab_unreclaimable:91960
                mapped:17 shmem:1286 pagetables:3507
                sec_pagetables:0 bounce:0
                kernel_misc_reclaimable:0
                free:12209 free_pcp:521 free_cma:0
[79772.509923] Node 0 active_anon:1087860kB inactive_anon:807796kB active_file:1252kB inactive_file:0kB unevictable:5148kB isolated(anon):0kB isolated(file):0kB mapped:68kB dirty:148kB writeback:28kB shmem:5144kB shmem_thp:0kB shmem_pmdmapped:0kB anon_thp:0kB writeback_tmp:0kB kernel_stack:6016kB pagetables:14028kB sec_pagetables:0kB all_unreclaimable? no
[79772.509933] Node 0 DMA free:14336kB boost:0kB min:20kB low:32kB high:44kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15984kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[79772.509943] lowmem_reserve[]: 0 1529 7492 7492 7492
[79772.509950] Node 0 DMA32 free:26048kB boost:0kB min:2252kB low:3816kB high:5380kB reserved_highatomic:0KB active_anon:1070316kB inactive_anon:508844kB active_file:80kB inactive_file:20kB unevictable:5148kB writepending:76kB present:1709468kB managed:1643932kB mlocked:12kB bounce:0kB free_pcp:720kB local_pcp:248kB free_cma:0kB
[79772.509960] lowmem_reserve[]: 0 0 5963 5963 5963
[79772.509967] Node 0 Normal free:8452kB boost:0kB min:8788kB low:14892kB high:20996kB reserved_highatomic:0KB active_anon:16124kB inactive_anon:300372kB active_file:536kB inactive_file:460kB unevictable:0kB writepending:104kB present:6291456kB managed:6112128kB mlocked:0kB bounce:0kB free_pcp:1364kB local_pcp:248kB free_cma:0kB
[79772.509976] lowmem_reserve[]: 0 0 0 0 0
[79772.509982] Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 1*2048kB (M) 3*4096kB (M) = 14336kB
[79772.510001] Node 0 DMA32: 640*4kB (UE) 711*8kB (UE) 437*16kB (UE) 168*32kB (UME) 38*64kB (UME) 8*128kB (U) 4*256kB (UME) 0*512kB 1*1024kB (M) 0*2048kB 0*4096kB = 26120kB
[79772.510025] Node 0 Normal: 0*4kB 1*8kB (M) 270*16kB (U) 123*32kB (UE) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 8264kB
[79772.510043] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[79772.510047] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[79772.510049] 4210 total pagecache pages
[79772.510051] 2560 pages in swap cache
[79772.510053] Free swap  = 4kB
[79772.510055] Total swap = 999420kB
[79772.510057] 2004227 pages RAM
[79772.510059] 0 pages HighMem/MovableOnly
[79772.510061] 61372 pages reserved
[79772.510063] 1 pages hwpoisoned
[79772.510064] Tasks state (memory values in pages):
[79772.510066] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
[79772.510089] [    456]     0   456    17063      280   143360      200          -250 systemd-journal
... ... ...
[79772.510318] [ 485922]  1000 485922     2082       80    49152      304             0 bash
[79772.510322] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-70.scope,task=stress-ng-vm,pid=485919,uid=1000
[79772.510344] Out of memory: Killed process 485919 (stress-ng-vm) total-vm:4253800kB, anon-rss:1872640kB, file-rss:160kB, shmem-rss:0kB, UID:1000 pgtables:8292kB oom_score_adj:1000
[79774.669127] oom_reaper: reaped process 485919 (stress-ng-vm), now anon-rss:1068kB, file-rss:160kB, shmem-rss:0kB
alexla
() автор топика
Ответ на: комментарий от alexla

Хочу еще проверить кой будет результат если сделать виртуальную машину с ядром 6.1+ в Proxmox на 5м ядре XD. Чисто интересно, но что то думается мне что все будет хорошо.

В общем непонятно кто забрал 5 гигов и не отдает.

Возможно какой-то кривой драйвер, натыкался как то на тему на просторах интернета что у людей с каким то кривым драйвером (или что то типа того уже не помню точно) отъедалось 4 гига на сетевой адаптер (чтобы это не значило) типа по 1 гигу на интерфейс.

Осталось теперь понять как этот момент проверить, ибо тему ту я уже не найду естественно, и какие методы они там делали для выявления не понятно.

alexla
() автор топика
Ответ на: комментарий от alexla

Помимо всего прочего, сегодня пришел на работу и этот сервер меня удивил вот подобным (это до тестов stress-ng):

[81452.929837] RAS: Soft-offlining pfn: 0x26b47f
[81452.929847] Memory failure: buffer overflow when queuing memory failure at 0x26b47f
[81452.929861] EDAC skx MC0: HANDLING MCE MEMORY ERROR
[81452.929865] EDAC skx MC0: CPU 0: Machine Check Event: 0x0 Bank 7: 0x9c00004001010090
[81452.929872] EDAC skx MC0: TSC 0x0
[81452.929875] EDAC skx MC0: ADDR 0x26b47f7c0
[81452.929878] EDAC skx MC0: MISC 0x200000c027e01086
[81452.929882] EDAC skx MC0: PROCESSOR 0:0x50657 TIME 1735045341 SOCKET 0 APIC 0x0
[81452.929904] EDAC MC0: 1 CE memory read error on CPU_SrcID#0_MC#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0x26b47f offset:0x7c0 grain:32 syndrome:0x0 -  err_code:0x0101:0x0090 ProcessorSocketId:0x0 MemoryControllerId:0x0 PhysicalRankId:0x0 Row:0xfb47 Column:0x378 Bank:0x1 BankGroup:0x3 retry_rd_err_log[0001a20d 00000000 01000111 04de7005 0000fb47] correrrcnt[e7f9 0000 0000 0000 0000 0000 0000 0000])
[81475.937738] RAS: Soft-offlining pfn: 0x26bd51
[81475.937750] Memory failure: buffer overflow when queuing memory failure at 0x26bd51
[81475.937765] EDAC skx MC0: HANDLING MCE MEMORY ERROR
[81475.937770] EDAC skx MC0: CPU 0: Machine Check Event: 0x0 Bank 7: 0x9c00004001010090
[81475.937777] EDAC skx MC0: TSC 0x0
[81475.937779] EDAC skx MC0: ADDR 0x26bd51340
[81475.937783] EDAC skx MC0: MISC 0x200001c082201086
[81475.937786] EDAC skx MC0: PROCESSOR 0:0x50657 TIME 1735045364 SOCKET 0 APIC 0x0
[81475.937810] EDAC MC0: 1 CE memory read error on CPU_SrcID#0_MC#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0x26bd51 offset:0x340 grain:32 syndrome:0x0 -  err_code:0x0101:0x0090 ProcessorSocketId:0x0 MemoryControllerId:0x0 PhysicalRankId:0x0 Row:0xfbcc Column:0x130 Bank:0x1 BankGroup:0x1 retry_rd_err_log[0001a20d 00000000 11000000 044c5005 0000fbcc] correrrcnt[e80e 0000 0000 0000 0000 0000 0000 0000])
[81479.937866] RAS: Soft-offlining pfn: 0x27ffba
[81479.937876] Memory failure: buffer overflow when queuing memory failure at 0x27ffba
[81494.945833] RAS: Soft-offlining pfn: 0x27ffbe
[81494.945842] Memory failure: buffer overflow when queuing memory failure at 0x27ffbe
[81494.945848] mce_notify_irq: 36 callbacks suppressed
[81494.945852] mce: [Hardware Error]: Machine check events logged
[81495.937873] mce: [Hardware Error]: Machine check events logged
[81505.921865] RAS: Soft-offlining pfn: 0x27f77f
[81505.921875] Memory failure: buffer overflow when queuing memory failure at 0x27f77f
[81514.945835] RAS: Soft-offlining pfn: 0x27ffc0
[81514.945844] Memory failure: buffer overflow when queuing memory failure at 0x27ffc0
[81529.921866] RAS: Soft-offlining pfn: 0x11c00
[81529.921876] Memory failure: buffer overflow when queuing memory failure at 0x11c00
[81529.921890] EDAC skx MC0: HANDLING MCE MEMORY ERROR
[81529.921895] EDAC skx MC0: CPU 0: Machine Check Event: 0x0 Bank 7: 0xdc00008001010090
[81529.921902] EDAC skx MC0: TSC 0x0
[81529.921904] EDAC skx MC0: ADDR 0x11c00bc0
[81529.921908] EDAC skx MC0: MISC 0x200000c007e01086
[81529.921912] EDAC skx MC0: PROCESSOR 0:0x50657 TIME 1735045418 SOCKET 0 APIC 0x0
[81529.921935] EDAC MC0: 2 CE memory read error on CPU_SrcID#0_MC#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0x11c00 offset:0xbc0 grain:32 syndrome:0x0 -  OVERFLOW err_code:0x0101:0x0090 ProcessorSocketId:0x0 MemoryControllerId:0x0 PhysicalRankId:0x0 Row:0x1d0 Column:0xb8 Bank:0x0 BankGroup:0x1 retry_rd_err_log[0001a20d 00000000 00100000 042e1005 000001d0] correrrcnt[e834 0000 0000 0000 0000 0000 0000 0000])
[81532.929839] RAS: Soft-offlining pfn: 0x2776ee
[81532.929848] Memory failure: buffer overflow when queuing memory failure at 0x2776ee
[81532.929863] EDAC skx MC0: HANDLING MCE MEMORY ERROR
[81532.929867] EDAC skx MC0: CPU 0: Machine Check Event: 0x0 Bank 7: 0x9c00004001010090
[81532.929874] EDAC skx MC0: TSC 0x0
[81532.929877] EDAC skx MC0: ADDR 0x2776ee840
[81532.929880] EDAC skx MC0: MISC 0x200000c000001086
[81532.929884] EDAC skx MC0: PROCESSOR 0:0x50657 TIME 1735045421 SOCKET 0 APIC 0x0
[81532.929907] EDAC MC0: 1 CE memory read error on CPU_SrcID#0_MC#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0x2776ee offset:0x840 grain:32 syndrome:0x0 -  err_code:0x0101:0x0090 ProcessorSocketId:0x0 MemoryControllerId:0x0 PhysicalRankId:0x0 Row:0xf773 Column:0x280 Bank:0x3 BankGroup:0x3 retry_rd_err_log[0001a20d 00000000 00100011 04a0f005 0000f773] correrrcnt[e83f 0000 0000 0000 0000 0000 0000 0000])
[81555.937869] mce_notify_irq: 28 callbacks suppressed
[81555.937875] mce: [Hardware Error]: Machine check events logged
[81557.921865] RAS: Soft-offlining pfn: 0x105c85
[81557.921875] Memory failure: buffer overflow when queuing memory failure at 0x105c85
[81557.921881] mce: [Hardware Error]: Machine check events logged
[81557.921893] EDAC skx MC0: HANDLING MCE MEMORY ERROR
[81557.921898] EDAC skx MC0: CPU 0: Machine Check Event: 0x0 Bank 7: 0xdc00014001010090
[81557.921905] EDAC skx MC0: TSC 0x0
[81557.921907] EDAC skx MC0: ADDR 0x105c85480
[81557.921911] EDAC skx MC0: MISC 0x200000c000001086
[81557.921915] EDAC skx MC0: PROCESSOR 0:0x50657 TIME 1735045446 SOCKET 0 APIC 0x0
[81557.921938] EDAC MC0: 5 CE memory read error on CPU_SrcID#0_MC#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0x105c85 offset:0x480 grain:32 syndrome:0x0 -  OVERFLOW err_code:0x0101:0x0090 ProcessorSocketId:0x0 MemoryControllerId:0x0 PhysicalRankId:0x0 Row:0x45c1 Column:0x148 Bank:0x2 BankGroup:0x0 retry_rd_err_log[0001a20d 00000000 00011000 04528005 000045c1] correrrcnt[e851 0000 0000 0000 0000 0000 0000 0000])

Так что возможно дело все же в железе ибо:

~$ sudo ras-mc-ctl --error-count
Label                           CE      UE
CPU_SrcID#0_MC#0_Chan#0_DIMM#0  4029409 0

хотя в логах я не вижу такого объема что показывает ras-mc-ctl, , но достаточно много (считать лень), в общем больше 10 допустимых подобных ошибок в год - как рекомендует интернет сообщество.

Видимо буду готовить сервер для поездки на гарантийное обслуживание.

alexla
() автор топика
Ответ на: комментарий от alexla

Если это бесплатный memtest86+ из дистрибутива, то он не поддерживает ECC. И corrected errors не покажет. https://github.com/memtest86plus/memtest86plus/discussions/248

Вроде пишут, что начальную поддержку (?) добавили совсем недавно, в версии 7.0 memtest86+ https://www.phoronix.com/news/Memtest-86-Plus-7.0

Коммерческая версия, memtest86 (без «+») от Passmark, вроде поддерживает ECC

router ★★★★★
()
Ответ на: комментарий от rupert

Ну все равно прикол, я пока не нашёл способа показать, какой модуль ядра сколько памяти сожрал

Если бы он запросил ерунду через обычный slab, это было бы видно

Но модуль ядра может аллоцировать МНОГО памяти через buddy allocator, вместо обычного slab, и ни перед кем не отчитываться

router ★★★★★
()
Ответ на: комментарий от alexla

Кстати, попробуй для проверки отключить rasdaemon и перезагрузить хост. Память будет вся доступна?

З.Ы. и если можно, покажи вывод lsmem, пока не отключил. Наверное, offline memory будет отмечена там

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)