Proxmox zeigt deutlich höheren RAM-Verbrauch an als tatsächlich genutzt

y.goeltz

New Member
Aug 30, 2024
4
1
3
Frankfurt am Main, Germany
Hallo zusammen,


nach längerer Recherche im Netz habe ich zu meinem Problem leider keine wirklich zufriedenstellende Erklärung gefunden – daher hoffe ich, dass mir hier im Forum vielleicht jemand weiterhelfen kann.


Unsere Umgebung​


Wir betreiben einen 3-Node PVE-Cluster, auf dem sowohl interne VMs als auch Kundensysteme laufen.
Da wir produktive Workloads hosten, kann ich leider nicht „einfach mal testen“ oder Nodes spontan neu starten, ohne einen geplanten Wartungstermin.


Das Problem​


Mit der Zeit scheint auf allen drei Hosts der Arbeitsspeicher vollzulaufen – zumindest laut Anzeige in der Proxmox-GUI.
Zuerst dachte ich an ein Memory Leak in einem Dienst oder Prozess, aber das konnte ich ausschließen.


Nach weiteren Analysen sieht es so aus, als würde nicht Proxmox selbst, sondern das darunterliegende Debian-System (bzw. der Linux-Kernel) den RAM zunehmend für Caches und Buffers belegen, ohne diesen als „verfügbar“ anzuzeigen.


Ich wollte daher einfach einmal nachfragen:
  • Ist das Verhalten normal und anderen auch aufgefallen?
  • Oder habe ich irgendwo einen Konfigurationsfehler, der dazu führt, dass die GUI den RAM-Verbrauch falsch interpretiert?

Beispielausgabe​


Hier ein aktuelles Beispiel von einem unserer Hosts:
Bash:
goeltz.yannik@xego01:~# echo "VMs:"; ps -eo comm,rss | awk '/qemu|kvm/ {sum+=$2} END {printf "  %.1f GiB\n", sum/1024/1024}'
echo "Ceph:"; ps -eo comm,rss | awk '/ceph/ {sum+=$2} END {printf "  %.1f GiB\n", sum/1024/1024}'
echo "Total host used:"; free -h
VMs:
  83.9 GiB
Ceph:
  9.4 GiB
Total host used:
               total        used        free      shared  buff/cache   available
Mem:           503Gi       366Gi        43Gi       181Mi        98Gi       136Gi
Swap:             0B          0B          0B
goeltz.yannik@xego01:~#

Und hier nun meine Summary Seite der Node:
1759959313735.png


Die tatsächliche Auslastung durch VMs und Ceph liegt also bei rund 93 GiB, während Proxmox in der GUI über 360 GiB genutzt anzeigt.

Wäre der Unterschied nur ein paar Prozent, wäre das kein Thema – aber fast 400 GiB „belegter RAM“, obwohl effektiv nur rund 100 GiB genutzt werden, wirkt auf mich etwas merkwürdig.

Hat jemand ähnliche Beobachtungen gemacht oder eine Idee, wie man die Anzeige im Proxmox-GUI realitätsnäher gestalten kann?


Vielen Dank schon einmal für jede Rückmeldung! ;)
Beste Grüße
Yannik
 
Prüfe mal top -co%MEM. free -h zeigt den Arbeitsspeicher ja ebenfalls als Benutzt an. Nur 100G sind Cache.
 
Okay, habe ich nun ausgeführt:

Bash:
goeltz.yannik@xego01:~# free -h
               total        used        free      shared  buff/cache   available
Mem:           503Gi       358Gi       134Gi       159Mi        14Gi       144Gi
Swap:             0B          0B          0B
goeltz.yannik@xego01:~#

Code:
top - 07:11:02 up 36 days, 20:42, 16 users,  load average: 1.80, 2.00, 1.97
Tasks: 845 total,   1 running, 844 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.2 us,  4.2 sy,  0.0 ni, 91.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem : 515659.3 total, 137620.7 free, 367475.1 used,  14846.9 buff/cache     
MiB Swap:      0.0 total,      0.0 free,      0.0 used. 148184.3 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                               
3748040 root      20   0   20.1g  16.2g  32060 S   6.6   3.2     31,18 /usr/bin/kvm -id 153 -name
  10480 root      20   0   15.0g  12.1g  20172 S   5.3   2.4     92,58 /usr/bin/kvm -id 138 -name 
   8799 root      20   0 9864.8m   6.0g  23852 S   1.7   1.2     42,24 /usr/bin/kvm -id 109 -name
   9129 root      20   0 9790.3m   6.0g  23984 S   1.3   1.2     34,23 /usr/bin/kvm -id 110 -name
 324351 root      20   0 8049448   4.2g  31956 S   3.3   0.8 359:30.88 /usr/bin/kvm -id 155 -name
1557423 root      20   0 9785.1m   4.2g  24916 S 101.7   0.8     5w+1d /usr/bin/kvm -id 128 -name
1559925 root      20   0 7667856   4.2g  25024 S   2.0   0.8     40,12 /usr/bin/kvm -id 135 -name
1934771 root      20   0 7553400   4.2g  24608 S   2.6   0.8     21,36 /usr/bin/kvm -id 147 -name
3605835 root      20   0 7111032   4.1g  29120 S   3.0   0.8 128:43.92 /usr/bin/kvm -id 157 -name
3748753 root      20   0 6212788   4.1g  25788 S   4.3   0.8     14,39 /usr/bin/kvm -id 154 -name
   9592 root      20   0 7839660   4.0g  22956 S   0.7   0.8     16,12 /usr/bin/kvm -id 115 -name
   9593 root      20   0   11.1g   2.9g  23564 S   0.7   0.6     15,04 /usr/bin/kvm -id 112 -name
   2940 ceph      20   0 4945596   2.9g  25384 S   3.3   0.6     32,57 /usr/bin/ceph-osd -f --cluster ceph --id 1 --setuser+
   2939 ceph      20   0 4829520   2.6g  24252 S   3.3   0.5     34,44 /usr/bin/ceph-osd -f --cluster ceph --id 0 --setuser+
   2941 ceph      20   0 4581528   2.4g  23824 S   2.6   0.5     25,24 /usr/bin/ceph-osd -f --cluster ceph --id 2 --setuser+
1094716 root      20   0 7679608   1.5g  29608 S   2.6   0.3      6,44 /usr/bin/kvm -id 150 -name
 114973 root      20   0   10.6g   1.5g  28476 S  12.3   0.3  12:38.06 /usr/bin/kvm -id 107 -name
   2347 ceph      20   0 2172236   1.2g  28292 S   1.0   0.2      7,00 /usr/bin/ceph-mgr -f --cluster ceph --id xego01 --se+
   2348 ceph      20   0  792828 250704  18168 S   1.0   0.0      7,01 /usr/bin/ceph-mon -f --cluster ceph --id xego01 --se+
   2352 root      rt   0  596692 204264  69784 S   1.3   0.0     12,14 /usr/sbin/corosync -f                                 
   6296 www-data  20   0  217828 169280  24428 S   0.0   0.0   1:10.36 pveproxy                                             
   2789 root      20   0  216572 168256  24356 S   0.0   0.0   0:41.81 pvedaemon                                             
 236532 www-data  20   0  237500 166860  10976 S   0.0   0.0   0:03.86 pveproxy worker                                       
 232126 www-data  20   0  236840 165948  10660 S   0.0   0.0   0:04.96 pveproxy worker                                       
 127807 root      20   0  232004 163936  13104 S   0.0   0.0   0:06.24 pvedaemon worker                                     
 234954 www-data  20   0  234444 163908  11056 S   0.3   0.0   0:04.22 pveproxy worker                                       
 127806 root      20   0  231396 163088  13024 S   0.0   0.0   0:06.12 pvedaemon worker                                     
 127805 root      20   0  231440 162192  12384 S   0.0   0.0   0:06.42 pvedaemon worker                                     
 493037 root      20   0  231440 154484   3388 S   0.0   0.0   0:00.00 task UPID:xego01:000785ED:12FB8FD6:68E74337:vncshell+
   2606 root      20   0  198700 150052  23504 S   0.0   0.0     28,01 pvestatd                                             
   6317 root      20   0  198964 143136  24092 S   0.0   0.0   4:36.50 pvescheduler                                         
 128130 root      20   0  203776 121292   4780 S   0.0   0.0   0:27.64 pve-ha-crm                                           
 128079 root      20   0  202572 119472   3936 S   0.0   0.0   2:27.69 pve-ha-lrm                                           
   2572 root      20   0  175836 105936   3908 S   0.0   0.0 148:21.57 pve-firewall                                         
1554009 root      20   0  152176 103848 102824 S   0.0   0.0   5:05.82 /lib/systemd/systemd-journald                         
1553983 root      20   0  131416  91032  90264 S   0.0   0.0   5:39.72 /lib/systemd/systemd-journald                         
1554499 _rpc      20   0 1350072  86184   9652 S   0.0   0.0   4:08.84 /usr/sbin/mariadbd                                   
   1976 root      20   0 1100912  75152  53924 S   0.0   0.0      6,28 /usr/bin/pmxcfs                                       
1555584 root      20   0 1322952  72208  20920 S   0.0   0.0   4:28.72 node --abort_on_uncaught_exception --max_old_space_s+
   6305 www-data  20   0   91332  64680  13736 S   0.0   0.0   0:48.36 spiceproxy                                           
 165004 www-data  20   0   91464  54480   3444 S   0.0   0.0   0:00.84 spiceproxy worker

Hab die VM Namen mal wegen Datenschutz ersetzt ;-)
 
Hmm. Das ist in der Tat seltsam. Ich nehme mal an, dass der RAM irgendwo Kernel seitig benutzt wird. Wird auf dem Host auch ZFS benutzt? Ich würde gerne mal ein Bild von dem Memory Usage Diagram in node > Summary und die Ausgabe von arc_summary -s arc sehen. cat /proc/meminfo könnte vielleicht für die Speicher Experten hier hilfreich sein.
 
Last edited:
Hi, auf dem Host wird ZFS verwendet, ja. Allerdings nur für die Boot Medien, und damals für die Anbindung einer SAN.

Hier das Bild der Memory Usage:
1760006431577.png

Der ARC Cache:
Code:
root@xego01:~# arc_summary -s arc

------------------------------------------------------------------------
ZFS Subsystem Report                            Thu Oct 09 12:55:05 2025
Linux 6.14.8-2-pve                                            2.3.3-pve1
Machine: xego01 (x86_64)                                      2.3.3-pve1

ARC status:
        Total memory size:                                     503.6 GiB
        Min target size:                                3.1 %   15.7 GiB
        Max target size:                                3.2 %   16.0 GiB
        Target size (adaptive):                        93.9 %   16.0 GiB
        Current size:                                  93.9 %   15.0 GiB
        Free memory size:                                      146.1 GiB
        Available memory size:                                 129.7 GiB

ARC structural breakdown (current size):                        15.0 GiB
        Compressed size:                               97.6 %   14.7 GiB
        Overhead size:                                  1.3 %  195.8 MiB
        Bonus size:                                   < 0.1 %    5.1 MiB
        Dnode size:                                     0.3 %   39.5 MiB
        Dbuf size:                                      0.1 %    7.7 MiB
        Header size:                                    0.7 %  104.4 MiB
        L2 header size:                                 0.0 %    0 Bytes
        ABD chunk waste size:                           0.1 %   10.3 MiB

ARC types breakdown (compressed + overhead):                    14.9 GiB
        Data size:                                     99.0 %   14.7 GiB
        Metadata size:                                  1.0 %  159.6 MiB

ARC states breakdown (compressed + overhead):                   14.9 GiB
        Anonymous data size:                          < 0.1 %  711.5 KiB
        Anonymous metadata size:                      < 0.1 %  384.5 KiB
        MFU data target:                               71.1 %   10.6 GiB
        MFU data size:                                 40.9 %    6.1 GiB
        MFU evictable data size:                       40.5 %    6.0 GiB
        MFU ghost data size:                                   128.0 KiB
        MFU metadata target:                            8.5 %    1.3 GiB
        MFU metadata size:                              0.5 %   76.5 MiB
        MFU evictable metadata size:                    0.2 %   31.7 MiB
        MFU ghost metadata size:                                 0 Bytes
        MRU data target:                               11.8 %    1.8 GiB
        MRU data size:                                 58.1 %    8.6 GiB
        MRU evictable data size:                       57.3 %    8.5 GiB
        MRU ghost data size:                                     1.9 GiB
        MRU metadata target:                            8.5 %    1.3 GiB
        MRU metadata size:                              0.5 %   82.8 MiB
        MRU evictable metadata size:                    0.3 %   45.1 MiB
        MRU ghost metadata size:                                 0 Bytes
        Uncached data size:                             0.0 %    0 Bytes
        Uncached metadata size:                         0.0 %    0 Bytes

ARC hash breakdown:
        Elements:                                                 455.2k
        Collisions:                                               523.1k
        Chain max:                                                     3
        Chains:                                                     1.5k

ARC misc:
        Uncompressed size:                            118.3 %   17.4 GiB
        Memory throttles:                                              0
        Memory direct reclaims:                                        2
        Memory indirect reclaims:                                    763
        Deleted:                                                    5.1M
        Mutex misses:                                               3.4k
        Eviction skips:                                               76
        Eviction skips due to L2 writes:                               0
        L2 cached evictions:                                     0 Bytes
        L2 eligible evictions:                                 118.3 GiB
        L2 eligible MFU evictions:                     24.2 %   28.6 GiB
        L2 eligible MRU evictions:                     75.8 %   89.6 GiB
        L2 ineligible evictions:                               409.1 MiB

root@xego01:~#

Und zu letzt noch mem-info:
Code:
root@xego01:~# cat /proc/meminfo
MemTotal:       528035176 kB
MemFree:        126737252 kB
MemAvailable:   150479304 kB
Buffers:        26146316 kB
Cached:          1012544 kB
SwapCached:            0 kB
Active:         70035544 kB
Inactive:       47052120 kB
Active(anon):   69395208 kB
Inactive(anon): 20720880 kB
Active(file):     640336 kB
Inactive(file): 26331240 kB
Unevictable:      228248 kB
Mlocked:          225176 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:               848 kB
Writeback:             0 kB
AnonPages:      90157564 kB
Mapped:           516184 kB
Shmem:            163652 kB
KReclaimable:     956112 kB
Slab:            3515532 kB
SReclaimable:     956112 kB
SUnreclaim:      2559420 kB
KernelStack:       31232 kB
PageTables:       253320 kB
SecPageTables:     62912 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    264017588 kB
Committed_AS:   129182332 kB
VmallocTotal:   34359738367 kB
VmallocUsed:     1661356 kB
VmallocChunk:          0 kB
Percpu:            66560 kB
HardwareCorrupted:     0 kB
AnonHugePages:  75464704 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
Unaccepted:            0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:     1031124 kB
DirectMap2M:    125517824 kB
DirectMap1G:    412090368 kB
root@xego01:~#

Danke dir schonmal fürs mitdenken :)
 
Ich habe das Phänomen auch bei einem Kunden seit 2 Monaten. Da sind übrigens auch e810 NICs verbaut.
bisher haben wir alle 2 Wochen ein Reboot der Nodes gemacht, aber ich werde den Fix der im Post #6 verlinkt ist einmal testen.