FreeBSD 12.2R - täglich -> out of swap

Tranalogic

LU #373839
Guten Morgen!

Wir haben hier zwei identische Blade Server rennen, welche eine identische FreeBSD config besitzen. Beide virtualiseren. Einer mit jails, der andere ausschließlich mit Bhyve. ZFS, 16G Ram/4GB Swap. Beide Datasets, jail und bhyve, sind auf einem iSCSI Lun abgelegt.

Seit dem 12.2 Release müllt irgendein Prozess täglich um ~ 3 Uhr früh den Swap zu. Ich habe aber keine Ahnung, welcher das sein könnte. Ich habe schon probiert, dass ich auf einem Blade das ZFS Arc auf 4 GB und die vm.kmem.size auf 13 GB beschränke, hat Original einen Tag funktioniert.

Auf dem Blade mit den Jails ist das an sich kein Problem, auf dem mit Bhyve schon, da er wichtige Virtualisierungen killt.

Jetzt meine Frage, in /var/log/messages steht nur die Meldung mit dem Swap. Gibt es irgendwo noch eine Möglichkeit festzustellen, welcher Prozess diesen Unfug verursacht bzw. ist das ein Memory Leak? Es steht weder etwas in der crontab, noch hätten wir Prozesse Daemons rennen, die ausufern könnten. Der Bhyve Blade z.B. hat keine Znapzend etc. aktiviert.

Die laufende periodic.conf sieht zB. so aus:

Code:
# 120.clean-preserve
daily_clean_preserve_enable="YES"                       # Delete files daily
daily_clean_preserve_days=7                             # If not modified for
daily_clean_preserve_verbose="YES"                      # Mention files deleted

# 130.clean-msgs
daily_clean_msgs_enable="YES"                           # Delete msgs daily
daily_clean_msgs_days=                                  # If not modified for

# 140.clean-rwho
daily_clean_rwho_enable="YES"                           # Delete rwho daily
daily_clean_rwho_days=7                                 # If not modified for
daily_clean_rwho_verbose="YES"                          # Mention files deleted

# 150.clean-hoststat
daily_clean_hoststat_enable="YES"                       # Purge sendmail host
                                                        # status cache daily

# 200.backup-passwd
daily_backup_passwd_enable="YES"                        # Backup passwd & group

# 210.backup-aliases
daily_backup_aliases_enable="YES"                       # Backup mail aliases

# 300.calendar
daily_calendar_enable="NO"                              # Run calendar -a

# 310.accounting
daily_accounting_enable="YES"                           # Rotate acct files
daily_accounting_compress="NO"                          # Gzip rotated files
daily_accounting_flags=-q                               # Flags to /usr/sbin/sa
daily_accounting_save=3                                 # How many files to save

Ich bin für jede Hilfe dankbar.


LG
 
Ergänzung:

Die Ausgabe von
top -o res
kann man auch in eine Datei umlenken und so z.B. den Befehl via CRON zu den Zeiten ausführen lassen, zu dem das Problem regelmäßig auftritt (also die von Dir erwähnten ca. 3:00 Uhr). Und dann guckst Du Dir am nächsten Morgen die ausgebenen Dateien an und brauchst nicht mitten in der Nacht direkt auf der Maschine zu sein. :-)
 
Über die Ports oder als Paket kann auch atop und/oder glances installiert werden. Damit lässt das OS langfristig und detailliert Überwachen.

Atop is an ASCII full-screen performance monitor that is capable of reporting
the activity of all processes (even if processes have finished during the
interval), daily logging of system and process activity for long-term analysis,
highlighting overloaded system resources by using colors, etc.
At regular intervals, it shows system-level activity related to the CPU, memory,
swap, disks, and network layers, and for every active process it shows the CPU
utilization, the memory growth, priority, username, state, and exit code.

WWW: https://github.com/samm-git/atop-freebsd

Glances is a CLI curses based monitoring tool for GNU/Linux and BSD OS.
Uses the PsUtil library to get information from your system.

https://nicolargo.github.io/glances/
 
Hallo Leute, danke für eure Antworten.
Danke für den Tipp mit atop und glances, werde ich mir anschauen. :)

Ich glaube, dass ich den Übeltäter gefunden habe. Kann meine These aber erst um drei in der Früh bestätigen.

Und zwar:
Periodic führt auch die Security Skripte aus, darin enthalten ist auch, wenn installiert, rkhunter. Ich habe die Skripte mal händisch gestartet und bei rkhunter -> out of swap. Ich werde euch morgen berichten, wie es ausgegangen ist.

Wie bereits gesagt, danke für eure Posts. :)

LG
 
rkhunter -> out of swap
Also ich hab die Erfahrung gemacht, das es nach einem Update auf 12.2 notwendig ist bestimmte Ports neu zu kompilieren/installieren (also ein reines Package-Reinstall reicht nicht).
Siehe dazu auch: https://www.bsdforen.de/threads/freebsd-12-2-erschienen.35842/#post-321281 und Folgende

Was bei rkhunter im Speziellen noch auffällt ist die Abhängigkeit von lsof. Und lsof ist auch nach meiner Erfahrung ein Programm, das durch das FreeBSD-Upgrade kaputt geht.
Möglicherweise ist das schon das Problem.

Ich weiß jetzt nicht, ob die Packages schon aktualisiert worden sind. Ansonsten einfach mal lsof aus den Ports bauen (/usr/ports/sysutils/lsof).
 
Ja lsof ist eine hässliche Altlast. Es erfüllt einen Bedarf für dessen Implementierung es lange Zeit keine gute API gab. Deswegen wühlt es direkt in Datenstrukturen, die das Userland eigentlichs so nichts angehen. Leider ist es noch immer ein übliches Werkzeug und viele bis heute nützlichen Skripte wurden dagegen geschrieben.
 
Hallo Leute!

Anscheinend ist/war lsof in der Tat der Übeltäter. Seitdem ich rkhunter deinstalliert habe, habe ich eine 0K Swap Auslastung auf beiden Systemen.

Glances und aTop habe ich installiert, danke für den Tipp, sind geniale Dinge.

Ich hoffe, es kommt bald ein Fix für lsof. In diesem Sinne.

Würde ich mal sagen: ~gelöst.

Danke jedem einzelnen von euch für eure Mithilfe.

LG
 
Zurück
Oben