NEWS
Swap leeren
-
@negalein Wenn du kein Swap nutzen möchtest, in der conf rausnehmen.
Container vorher stoppen.nano /etc/pve/lxc/<container-id>.conf -> #swap: 2048
Änderung wird sofort wirksam.
-
@negalein SWAP füllt sich aber im laufenden Betrieb nicht einfach so, damit der benutzt wird. Der füllt sich eigentlich nur, wenn das RAM ausgeht. Bevor dann Prozesse „abgeschossen“ werden wird eben in den SWAP ausgelagert. Wenn Du den jetzt deaktivierst und ein RAM-hungriger Prozess (backitup beispielsweise) mehr RAM anfordert, als aktuell verfügbar, wird eben vom System irgendetwas anderes beendet (abgeschossen) um mehr RAM freizumachen. Nach Murphy trifft das zu 99% dann Prozesse, von denen Du das nicht willst.
Also, bevor Du da tätig wirst, schau Dir an, warum so viel SWAP benutzt wurde und versuche, da anzusetzen. Zur Not eben mehr RAM für den LXC reservieren, denn ohne Not wurde nichts auf den SWAP ausgelagert!Gruss, Jürgen
-
@negalein sagte in Swap leeren:
Wie leert man in einen Proxmox LXC den Swap?
Gar nicht, der läuft von alleine wieder leer.
-
@wildbill sagte in Swap leeren:
schau Dir an, warum so viel SWAP benutzt wurde
gibts da einen Befehl oder ein Log?
RAM bleibt eigentlich konstant bei ca. 50%
@thomas-braun sagte in Swap leeren:
Gar nicht, der läuft von alleine wieder leer.
Ah, gut zu wissen
-
@negalein sagte in Swap leeren:
gibts da einen Befehl oder ein Log?
apt-get install smem
smem
Beispiel:
PID User Command Swap USS PSS RSS 1396 iobroker io.vis-inventwo.0 0 33212 33500 45756 1467 iobroker io.ws.0 0 35676 35962 48284
-
@glasfaser Mal wieder ein typisches Linux Nerd Kommando...
Völlig uninterpretierbar, ohne seitenweise manpages zu lesen, Parameter sind in keinster Weise ähnlich denen, von z. B. free ...Mein LXC-Container meldet folgendes
martin@iobroker-test-sicher:/opt/iobroker$ free total used free shared buff/cache available Mem: 6291456 2106208 3030820 40 1154428 4185248 Swap: 6291456 776924 5514532 martin@iobroker-test-sicher:/opt/iobroker$ smem PID User Command Swap USS PSS RSS 738 martin -bash 1336 1876 1922 2792 279120 martin /usr/bin/python3 /usr/bin/s 0 11060 11361 13228 martin@iobroker-test-sicher:/opt/iobroker$
Nach längerem Lesen der manpages scheint mir jedenfalls das, was unter smem ausgespuckt wird, nichts mit den 776924 Byte genutztem Swap laut free zu tun zu haben...
-
@martinp said in Swap leeren:
Nach längerem Lesen der manpages scheint mir jedenfalls das, was unter smem ausgespuckt wird, nichts mit den 776924 Byte genutztem Swap laut free zu tun zu haben...
Habe ein wenig gespielt mit dem smem tool. Mit vorangestelltem sudo und -k gibt es bessere Ergebnisse...
martin@iobroker-test-sicher:/opt/iobroker$ sudo smem -k PID User Command Swap USS PSS RSS 177 root /sbin/agetty -o -p -- \u -- 112.0K 12.0K 33.0K 660.0K 182 root /sbin/agetty -o -p -- \u -- 112.0K 12.0K 34.0K 672.0K 133311 root sudo -u iobroker curl -o /o 452.0K 4.0K 58.0K 1.0M 133326 root sudo -u iobroker curl -o /o 456.0K 4.0K 58.0K 1.0M 133303 root sudo -u iobroker curl -o /o 452.0K 4.0K 59.0K 1.0M 136865 root sudo -u iobroker curl -o /o 452.0K 4.0K 59.0K 1.0M 178 root /bin/login -p -- 548.0K 8.0K 62.0K 992.0K 171 root /usr/sbin/cron -f 120.0K 136.0K 162.0K 904.0K 137041 root sshd: /usr/sbin/sshd -D [li 1.3M 16.0K 205.0K 1.5M 95 _rpc /sbin/rpcbind -f -w 440.0K 32.0K 213.0K 1.4M 279945 root sudo smem -k 0 112.0K 496.0K 1.6M 276201 root /usr/lib/postfix/sbin/maste 0 684.0K 1.3M 4.2M 103 messagebus /usr/bin/dbus-daemon --syst 224.0K 1.4M 1.4M 2.4M 110 root /lib/systemd/systemd-logind 888.0K 1.4M 1.5M 2.4M 279944 root sudo smem -k 0 1.0M 1.6M 4.2M 738 martin -bash 1.3M 1.9M 1.9M 2.8M 279858 postfix pickup -l -t unix -u -c 0 692.0K 2.0M 6.6M 276203 postfix qmgr -l -t unix -u 0 736.0K 2.0M 6.7M 276229 root /usr/sbin/rsyslogd -n -iNON 0 2.0M 2.3M 4.5M 275374 systemd-network /lib/systemd/systemd-networ 0 2.3M 3.9M 8.7M 1 root /lib/systemd/systemd --syst 0 6.4M 8.1M 13.1M 275377 root /lib/systemd/systemd-journa 4.0K 8.4M 14.1M 23.0M 279946 root /usr/bin/python3 /usr/bin/s 0 14.5M 14.7M 16.5M 555 iobroker io.discovery.0 13.4M 30.2M 31.6M 55.3M 184446 iobroker io.email.0 12.8M 31.1M 32.7M 57.4M 143910 iobroker io.snmp.0 13.1M 31.4M 32.8M 56.5M 507 iobroker io.ping.0 16.0M 34.3M 35.7M 59.4M 129220 iobroker io.fritzdect.0 18.8M 36.2M 37.6M 61.4M 630 iobroker io.tradfri.0 18.5M 38.3M 39.6M 63.3M 660 iobroker io.operating-hours.0 28.8M 40.1M 41.5M 65.2M 81100 iobroker io.meross.0 23.0M 51.0M 52.5M 76.8M 216465 iobroker io.web.0 13.2M 54.4M 56.2M 82.0M 645 iobroker io.simple-api.0 36.7M 55.7M 57.0M 80.8M 5820 iobroker io.mqtt.0 28.5M 57.7M 59.2M 83.4M 566 iobroker io.backitup.0 12.5M 58.5M 59.9M 84.0M 169228 grafana /usr/share/grafana/bin/graf 6.7M 67.0M 67.0M 67.0M 462 iobroker io.mqtt-client.0 42.1M 66.3M 67.7M 91.4M 401 iobroker io.influxdb.0 50.6M 76.7M 78.0M 101.6M 63494 iobroker io.javascript.0 55.3M 111.8M 113.4M 137.4M 492 iobroker io.sonoff.0 62.5M 113.2M 114.6M 138.3M 241529 iobroker io.admin.0 0 180.0M 182.1M 208.2M 170 influxdb /usr/bin/influxd 27.1M 245.1M 245.1M 245.1M 358 iobroker iobroker.js-controller 254.9M 659.6M 661.1M 685.2M martin@iobroker-test-sicher:/opt/iobroker$
Schaut man sich free an, sind es in Summe offensichtlich jetzt wiederum mehr...
martin@iobroker-test-sicher:/opt/iobroker$ free total used free shared buff/cache available Mem: 6291456 2141852 2981880 44 1167724 4149604 Swap: 6291456 776788 5514668
-
@martinp sagte in Swap leeren:
@glasfaser Mal wieder ein typisches Linux Nerd Kommando...
Völlig uninterpretierbar, ohne seitenweise manpages zu lesen, Parameter sind in keinster Weise ähnlich denen, von z. B. free ...Danke für die Blumen
Deshalb wurde auch ein Beispiel der Ausgabe beigefügt !
Dann mache es demnächst selber und beurteile hier nicht die Post von anderen !
-
@martinp sagte in Swap leeren:
Völlig uninterpretierbar, ohne seitenweise manpages zu lesen, Parameter sind in keinster Weise ähnlich denen, von z. B. free ...
Und deswegen sind die man pages vorhanden...
Damit man etwas nachlesen kann. -
@martinp sagte in Swap leeren:
Mal wieder ein typisches Linux Nerd Kommando...
und wie kommst du (anscheinend ein selbsternannter Guru) dazu, User die wirklich helfen wollen, mit solch einem Kommentar von der Seite anzumachen?
Sorry, aber das hättest dir zu 100% sparen können. -
@negalein Wenn es so rübergekommen ist, tut mir das Leid. Keiner, der hier einen Beitrag geschrieben hat, kann etwas dafür, dass die Linux-Bordmittel manchmal etwas aus der Zeit gefallen sind, was die Bedienung angeht ... und wenig stringent untereinander ...
Nur auf letzteres wollte ich hinweisen.Will man die Speicherangaben in MByte haben, lautet die Option bei smem und free NATÜRLICH unterschiedlich, und man muss wieder blättern...
gut lesbare Ergebnisse erzielt man mit
smem -k -t
und mit
free -h
462 iobroker io.mqtt-client.0 40.9M 62.7M 64.1M 87.8M 169228 grafana /usr/share/grafana/bin/graf 6.7M 66.9M 66.9M 66.9M 401 iobroker io.influxdb.0 50.6M 73.1M 74.5M 98.1M 63494 iobroker io.javascript.0 55.2M 110.6M 112.2M 136.3M 492 iobroker io.sonoff.0 62.5M 113.0M 114.4M 138.1M 241529 iobroker io.admin.0 0 178.8M 181.0M 207.1M 170 influxdb /usr/bin/influxd 27.1M 220.7M 220.7M 220.7M 358 iobroker iobroker.js-controller 254.9M 658.9M 660.4M 684.5M ------------------------------------------------------------------------------- 43 9 738.8M 2.0G 2.0G 2.5G martin@iobroker-test-sicher:/opt/iobroker$ free -h total used free shared buff/cache available Mem: 6.0Gi 2.0Gi 2.9Gi 48Ki 1.1Gi 4.0Gi Swap: 6.0Gi 756Mi 5.3Gi martin@iobroker-test-sicher:/opt/iobroker$
Im Gegensatz zu Windows gibt es solche Tools aber immerhin ...
-
@martinp sagte in Swap leeren:
smem -k -t
da bekomm ich nicht viel, was auf den vollen Swap hinweist
nega@ioBroker:/$ smem -k -t PID User Command Swap USS PSS RSS 1478250 nega -bash 0 3.0M 3.0M 4.6M 1478222 nega /lib/systemd/systemd --user 0 2.3M 3.7M 8.8M 1479444 nega /usr/bin/python3 /usr/bin/s 0 9.5M 10.2M 13.0M ------------------------------------------------------------------------------- 3 1 0 14.8M 16.9M 26.5M
-
@negalein Ich korrigiere
sudo smem -k -t
ohne Sudo bekommt man nur Infos zu den Prozessen, die man auch als User/Owner gestartet hat...
-
@martinp sagte in Swap leeren:
ohne Sudo bekommt man nur Infos zu den Prozessen, die man auch als User/Owner gestartet hat...
ah, ok. Ich werde es das nächste mal testen. Hab ihn gerade rebootet, da der Swap schon auf 99% war.
-
@negalein Habe noch eine Verbesserung gefunden ...
martin@iobroker-test-sicher:/opt/iobroker$ free -m total used free shared buff/cache available Mem: 6144 1815 3114 0 1213 4328 Swap: 6144 1043 5100 martin@iobroker-test-sicher:/opt/iobroker$ free -h total used free shared buff/cache available Mem: 6.0Gi 1.8Gi 3.0Gi 28Ki 1.2Gi 4.2Gi Swap: 6.0Gi 1.0Gi 5.0Gi m
"free -m" gibt den Speicher in Megabyte aus, zwar ohne Einheit - das passt dann aber etwas besser als das "-h" (Human readable) zu den Ausgaben von "smem -k -t"
Bei mir ist der größte "Fresser" in "smem -k -t" aber der js-controller, WAS darin die Anstiege verursacht, ist so nicht zu sehen ...
ggfs. irgendwie mit dem Linux-Adapter oder über Cron Job zyklisch die Infos abfragen, und in einen Datenpunkt schreiben.
Da kann man dann ggfs. mit Auswertungen gegen die Zeit (influx/grafana, flot, history...) irgendwas herausfinden ...