Speicher

Hallo,

ich habe auf meinem Notebook gestern Leap 15.4 installiert, und mir fällt auf, dass das System seitdem sehr schnell an seine Leistungsgrenzen kommt, obwohl noch relativ viel Speicher frei ist. Das Notebook hat 8 GB installiert (Maximalausbau). Bisher wurde es ab ca. 5,6 bis 6 GB eng, manchmal so eng, dass sich nichts mehr tat. Ich habe deshalb immer die Speicherauslastung im Blick. Bei 15.4. fällt mir nun auf, dass es bereits bei 4,2 bis 4,5 GB ziemlich eng wird.

Hat jemand eine Idee, was der Grund sein könnte, und was ich ggf. ändern kann?

Gruß

https://abload.de/img/screenshot_20221103_2ytiq4.png

Das Notebook hat rund 7 GB RAM für Anwendungen zur Verfügung. Von den 8 GB RAM wird ein grosser Teil von rund 1 GB für die integrierte Grafikkarte reserviert. Dieser für die Grafikkarte (GPU) reservierte Anteil kann im BIOS zuungunsten der Grafikleistung reduziert werden.

Nutzung der SWAP reduzieren (Swappiness):

# more /etc/sysctl.conf |grep -i swap
# Swappiness auf ein Minimum reduzieren
vm.swappiness = 10

Nach dem Editieren der sysctl.conf den Rechner neustarten und die Swapiness-Konfigurationswerte kontrollieren:

# sysctl vm.swappiness 
vm.swappiness = 10

Mit den Befehlen top und ps die Speicherverwendung kontrollieren. Zum Beispiel:

# top 
top - 13:45:54 up  5:55,  2 users,  load average: 0.40, 0.56, 0.85
Tasks: 202 total,   3 running, 192 sleeping,   0 stopped,   7 zombie
%Cpu(s): 13.5 us,  4.9 sy,  0.0 ni, 79.2 id,  0.0 wa,  0.0 hi,  2.4 si,  0.0 st
MiB Mem : 15874.30+total, 12608.69+free, 2344.289 used, 1822.828 buff/cache
MiB Swap: 18393.31+total, 18393.31+free,    0.000 used. 13530.01+avail Mem
  • Der Swap-Wert “used” muss möglichst nah bei Null liegen.
  • Der Mem-Wert “buff/cache” muss möglichst hoch sein. Idealerweise > 1000 MiB. Der Mem-Wert “buff/cache” weist die Menge der im Zwischenspeicher (Cache) gelagerten Dateien aus. Diese Dateien werden beim nächsten Lesevorgang ohne SSD-/Festplattenzugriff direkt aus dem blitzschnellen RAM gelesen. Dieser Wert ist nach dem Rechnerstart üblicherweise im Bereich > 500 MiB und wird im Tagesverlauf immer grösser. Die Grösse von diesem Zwischenspeicher ist relevant für die Rechnerperformance. Wird freier Speicherplatz (free) zur Mangelware, wird der Zwischenspeicher (buff/cache) zuungunsten der Rechnerperformance reduziert.

Der totale SWAP-Speicherplatz muss bei einem Notebook immer grösser sein als der totale RAM-Speicherplatz! Ansonsten funktioniert der Winterschlaf (Hibernation) nicht zuverlässig!

Okay, dann muss ich mal schauen, wie sich das System jetzt verhält.


top - 15:15:42 up 11 min,  4 users,  load average: 0,45, 1,04, 0,78 
Tasks:** 218 **total,**   1 **running,** 217 **sleeping,**   0 **stopped,**   0 **zombie 
%Cpu(s):**  2,6 **us,**  5,1 **sy,**  0,0 **ni,** 70,0 **id,** 21,2 **wa,**  0,0 **hi,**  1,0 **si,**  0,0 **st 
MiB Mem :** 6880,164 **total,** 3258,312 **free,** 1975,672 **used,** 1975,844 **buff/cache 
MiB Swap:** 2048,688 **total,** 2048,688 **free,**    0,000 **used.** 4904,492 **avail Mem

sudo sysctl vm.swappiness  
vm.swappiness = 10

Hast du auch einen Tipp, wie das Ding schneller hochfährt? Vom ersten Anzeigen des Mauspfeils bis zum Aufbau des Desktops vergehen ca. 60 bis 80 Sekunden, ohne dass Applikationen automatisch geladen würden.

Um herauszufinden welcher Prozess wie lange bei Hochfahren braucht, folgenden Befehl ausführen:

systemd-analyze blame

systemd-analyze blame zeigt 230 Zeilen an. Die meisten Zeit wird für benötigt für etwas dieser Art: dev-sdaX.device

$ systemd-analyze blame
22.471s dev-sda1.device

$ systemd-analyze time 
Startup finished in 3.688s (kernel) + 10.885s (initrd) + 40.297s (userspace) = 54.872s  
graphical.target reached after 40.272s in userspace

Partition /dev/sda1 mit veraltetem ext2, ext3 oder ext4-Dateisystem formatiert? Hier wäre es wohl angebracht, einige Gedanken über den Umstieg auf ein modernes Dateisystem zu machen. Zum Beispiel XFS oder Btrfs. Siehe dazu:

https://bbs.archlinux.org/viewtopic.php?id=196758

https://askubuntu.com/questions/905735/systemd-analyse-blame-what-is-dev-sda1-device

https://forums.opensuse.org/showthread.php/574595-Sytemstart-steckt-im-emergency-mode-fest

Partitionsumstellungsanleitung findet man verlinkt unter:
https://forums.opensuse.org/showthread.php/568621-GRUB-reagiert(e)-extrem-träge?p=3120214#post3120214

Für schnellen Rechnerstart ist eine SSD anstelle einer Festplatte einzusetzen.

# systemd-analyze time
Startup finished in 1.207s (kernel) + 3.299s (initrd) + 4min 7.503s (userspace) = 4min 12.010s 
graphical.target reached after 8.187s in userspace

Bei allem nötigen Respekt, aber das ist absoluter Unsinn. ext4 ist weder veraltet noch ist Btrfs/XFS moderner. Weiterhin hat es keinerlei Einfluss auf die Startgeschwindigkeit eines Rechners ob die Festplatte/SSD nun mit ext4 oder btrfs/XFS formatiert ist. Verweise auf deinen eigenen Beitrag oder andere Beiträge die deine wilden Behauptungen auch nicht belegen sind hier auch nicht hilfreich

(geschrieben von einem openSUSE Tumbleweed System mit ext4 formatierten SSD’s:sarcastic: )

systemd-analyze
Startup finished in 10.341s (firmware) + 2.012s (loader) + 939ms (kernel) + 1.217s (initrd) + 2.849s (userspace) = 17.360s  
graphical.target reached after 2.849s in userspace.

Btrfs würde ich lieber heute als morgen loswerden.
Mit geht dieses ständige Rumgerödel nur noch auf die Nerven.
Man kann drauf wetten: wenn sich urplötzlich nichts mehr tut, rattern irgendwelche Btrfs-Prozesse.
Wenn das ich System das nächste Mal komplett neu aufspiele, wird es definitiv ohne Btrfs sein, falls das möglich ist.

…ist möglich. Siehe mein letzter Beitrag. Meine 3 Tumbleweed Rechner laufen alle mit ext4. Du musst nur beachten, das mit ext4 keine Snapshots und Rollbacks möglich sind. Das hat mich aber bisher überhaupt nicht gestört, da ich das auch auf anderen Systemen (und Distributionen) nicht nutze und genügend alternative Rückfallmethoden habe wenn mal was schief gehen sollte…

Ist in deinem Rechner eine klassische Festplatte oder eine SSD verbaut? Der einzig sinnvolle Hinweis von GrandDixence2 war tatsächlich, das der Start eines Systems deutlich schneller wird, wenn eine SSD verbaut ist…

Klassische Festplatte.

Der Output von “systemd-analyze blame” ist momentan ziemlich unübersichtlich. Besser geht es mit dem Journal:

**erlangen:~ #** journalctl -b -u init.scope -g Reached -o short-monotonic  
    2.901825] erlangen systemd[1]: Reached target System Initialization. 
    2.945708] erlangen systemd[1]: Reached target Path Units. 
    2.945765] erlangen systemd[1]: Reached target Basic System. 
    3.105349] erlangen systemd[1]: Reached target Initrd Root Device. 
    4.699021] erlangen systemd[1]: Reached target Preparation for Remote File Systems. 
    4.699072] erlangen systemd[1]: Reached target Remote File Systems. 
    4.764771] erlangen systemd[1]: Reached target Initrd Root File System. 
    4.976987] erlangen systemd[1]: Reached target Initrd File Systems. 
    4.977047] erlangen systemd[1]: Reached target Initrd Default Target. 
    5.048762] erlangen systemd[1]: Reached target Switch Root. 
    5.635335] erlangen systemd[1]: Reached target Preparation for Local File Systems. 
    6.739138] erlangen systemd[1]: Reached target Local File Systems. 
    6.765026] erlangen systemd[1]: Reached target rpc_pipefs.target. 
    6.816018] erlangen systemd[1]: Reached target Network. 
    6.816094] erlangen systemd[1]: Reached target Network is Online. 
    6.816160] erlangen systemd[1]: Reached target Host and Network Name Lookups. 
    6.816240] erlangen systemd[1]: Reached target System Initialization. 
    6.818071] erlangen systemd[1]: Reached target Path Units. 
    6.818819] erlangen systemd[1]: Reached target Socket Units. 
    6.818899] erlangen systemd[1]: Reached target Basic System. 
    6.962940] erlangen systemd[1]: Reached target Sound Card. 
    6.998145] erlangen systemd[1]: Reached target System Time Synchronized. 
    7.003787] erlangen systemd[1]: Reached target Timer Units. 
    7.130032] erlangen systemd[1]: Reached target Login Prompts. 
    7.701245] erlangen systemd[1]: Reached target Multi-User System. 
    7.810855] erlangen systemd[1]: Reached target Graphical Interface. 
**erlangen:~ # **

Ohne Angaben über Hardware sind die obigen Zeiten nur schwierig zu bewerten:

**erlangen:~ #** inxi -zFm 
**System:**
  **Kernel:** 6.0.6-1-default **arch:** x86_64 **bits:** 64 **Console:** pty pts/2 
    **Distro:** openSUSE Tumbleweed 20221102 
**Machine:**
  **Type:** Desktop **Mobo:** ASUSTeK **model:** PRIME B450-PLUS **v:** Rev X.0x 
    **serial:** <filter> **UEFI:** American Megatrends **v:** 2409 **date:** 12/02/2020 
**Memory:**
  **RAM:****total:** 29.27 GiB **used:** 3.77 GiB (12.9%) 
  **Array-1:****capacity:** 128 GiB **slots:** 4 **EC:** None 
  **Device-1:** DIMM_A1 **type:** no module installed 
  **Device-2:** DIMM_A2 **type:** DDR4 **size:** 16 GiB **speed:** 2133 MT/s 
  **Device-3:** DIMM_B1 **type:** no module installed 
  **Device-4:** DIMM_B2 **type:** DDR4 **size:** 16 GiB **speed:** 2133 MT/s 
**CPU:**
  **Info:** quad core **model:** AMD Ryzen 5 3400G with Radeon Vega Graphics **bits:** 64 
    **type:** MT MCP **cache:****L2:** 2 MiB 
  **Speed (MHz):****avg:** 1687 **min/max:** 1400/3700 **cores:****1:** 1400 **2:** 1400 **3:** 1400 
    **4:** 1400 **5:** 1400 **6:** 1400 **7:** 3700 **8:** 1400 
**Graphics:**
  **Device-1:** AMD Picasso/Raven 2 [Radeon Vega Series / Radeon Mobile Series] 
    **driver:** amdgpu **v:** kernel 
  **Display:** x11 **server:** X.Org **v:** 21.1.4 **with:** Xwayland **v:** 22.1.4 **driver:****X:**
    **loaded:** amdgpu **unloaded:** fbdev,modesetting,vesa **gpu:** amdgpu 
    **resolution:** 1920x1080~60Hz 
  **OpenGL:****renderer:** AMD Radeon Vega 11 Graphics (raven LLVM 15.0.3 DRM 3.48 
    6.0.6-1-default) **v:** 4.6 Mesa 22.2.2 
**Audio:**
  **Device-1:** AMD Raven/Raven2/Fenghuang HDMI/DP Audio **driver:** snd_hda_intel 
  **Device-2:** AMD Family 17h/19h HD Audio **driver:** snd_hda_intel 
  **Device-3:** Tenx USB AUDIO **type:** USB 
    **driver:** hid-generic,snd-usb-audio,usbhid 
  **Sound Server-1:** ALSA **v:** k6.0.6-1-default **running:** yes 
  **Sound Server-2:** PipeWire **v:** 0.3.59 **running:** yes 
**Network:**
  **Device-1:** Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
    **driver:** r8169 
  **IF:** enp3s0 **state:** up **speed:** 100 Mbps **duplex:** full **mac:** <filter> 
**Drives:**
  **Local Storage:****total:** 1.15 TiB **used:** 432.46 GiB (36.8%) 
  **ID-1:** /dev/nvme0n1 **vendor:** Samsung **model:** SSD 950 PRO 512GB 
    **size:** 476.94 GiB 
  **ID-2:** /dev/sda **vendor:** Samsung **model:** SSD 850 EVO 250GB **size:** 232.89 GiB 
  **ID-3:** /dev/sdb **vendor:** Samsung **model:** SSD 850 EVO 500GB **size:** 465.76 GiB 
**Partition:**
  **ID-1:** / **size:** 476.84 GiB **used:** 147.19 GiB (30.9%) **fs:** btrfs 
    **dev:** /dev/nvme0n1p2 
  **ID-2:** /boot/efi **size:** 99.8 MiB **used:** 2.4 MiB (2.4%) **fs:** vfat 
    **dev:** /dev/nvme0n1p1 
  **ID-3:** /home **size:** 476.84 GiB **used:** 147.19 GiB (30.9%) **fs:** btrfs 
    **dev:** /dev/nvme0n1p2 
  **ID-4:** /opt **size:** 476.84 GiB **used:** 147.19 GiB (30.9%) **fs:** btrfs 
    **dev:** /dev/nvme0n1p2 
  **ID-5:** /var **size:** 476.84 GiB **used:** 147.19 GiB (30.9%) **fs:** btrfs 
    **dev:** /dev/nvme0n1p2 
**Swap:**
  **Alert:** No swap data was found. 
**Sensors:**
  **System Temperatures:****cpu:** 40.9 C **mobo:** N/A **gpu:** amdgpu **temp:** 40.0 C 
  **Fan Speeds (RPM):** N/A 
**Info:**
  **Processes:** 323 **Uptime:** 17h 2m **Shell:** Bash **inxi:** 3.3.21 
**erlangen:~ #**
**erlangen:~ #** systemd-analyze 
Startup finished in 9.221s (firmware) + 3.505s (loader) + 2.140s (kernel) + 3.037s (initrd) + 2.633s (userspace) = 20.537s  
graphical.target reached after 2.633s in userspace. 
**erlangen:~ #** 

Die Reboot Zeit (Lücke zwischen den beiden letzten Boots) beträgt 18 Sekunden:

**erlangen:~ #** journalctl --list-boots |tail -2 
 -1 be98913b780f4d66ac7c46f542044b7b Wed 2022-11-02 17:46:35 CET  Thu 2022-11-03 23:37:47 CET 
  0 fba45b226ce047df936f31f7656b464e Thu 2022-11-03 23:38:05 CET  Fri 2022-11-04 16:29:08 CET 
**erlangen:~ #** 

Das erklärt den langsamen Start. Ich hab hier auch noch ein altes Laptop Schätzchen, welches ich mit der klassischen Festplatte schon in den Müll werfen wollte, weil es so langsam und zäh war. Hab lange gehadert ob ich da noch Geld reinsteck. Dann hab ich doch eine SSD installiertund voila: Ich nutze ihn jetzt zum Software kompilieren (i7-3520M mit 8GB RAM). Das sind Welten zwischen klassischer Festplatte und SSD.

Wenn openSUSE Leap 15.5 rauskommt kannst du ja den Schritt wagen: Festplatte raus, SSD rein, Leap 15.5 drauf. Rennt…

Ist eine Überlegung wert, wenn ich mir die Zeiten von karlmistelberger anschaue. :slight_smile: Zumal ich noch eine SSD hier rumliegen habe.

sudo journalctl -b -u init.scope -g Reached -o short-monotonic  
    5.433177] localhost systemd[1]: Reached target Path Units. 
    7.334681] localhost systemd[1]: Reached target Initrd Root Device. 
    8.170879] localhost systemd[1]: Reached target Preparation for Local File Systems. 
    8.171020] localhost systemd[1]: Reached target Local File Systems. 
    8.191922] localhost systemd[1]: Reached target System Initialization. 
    8.192045] localhost systemd[1]: Reached target Basic System. 
   10.711877] localhost systemd[1]: Reached target Preparation for Remote File Systems. 
   10.711962] localhost systemd[1]: Reached target Remote File Systems. 
   11.881952] localhost systemd[1]: Reached target Initrd Root File System. 
   12.373837] localhost systemd[1]: Reached target Initrd File Systems. 
   12.373930] localhost systemd[1]: Reached target Initrd Default Target. 
   12.468432] localhost systemd[1]: Reached target Switch Root. 
   20.915508] localhost systemd[1]: Reached target Preparation for Local File Systems. 
   25.672503] localhost systemd[1]: Reached target Swaps. 
   31.869868] localhost systemd[1]: Reached target Local File Systems. 
   32.648987] localhost systemd[1]: Reached target System Initialization. 
   32.701315] localhost systemd[1]: Reached target Path Units. 
   32.724610] localhost systemd[1]: Reached target Socket Units. 
   32.724789] localhost systemd[1]: Reached target Basic System. 
   33.104931] localhost systemd[1]: Reached target Sound Card. 
   33.389994] localhost systemd[1]: Reached target Host and Network Name Lookups. 
   33.392553] localhost systemd[1]: Reached target User and Group Name Lookups. 
   42.587559] localhost systemd[1]: Reached target Preparation for Network. 
   44.774774] localhost systemd[1]: Reached target Network. 
   45.695998] localhost systemd[1]: Reached target System Time Synchronized. 
   45.718745] localhost systemd[1]: Reached target Timer Units. 
   51.714792] localhost systemd[1]: Reached target Network is Online. 
   51.974125] localhost.localdomain systemd[1]: Reached target Remote File Systems. 
   54.076748] localhost.localdomain systemd[1]: Reached target Login Prompts. 
   54.077455] localhost.localdomain systemd[1]: Reached target Multi-User System. 
   54.846938] localhost.localdomain systemd[1]: Reached target Graphical Interface.

Dann ist der Fall ja klar:
/etc/fstab geräteunabhängig konfigurieren (nur /dev/sda-Einträge). Bootmanager mit dem entsprechenden YAST2-Modul geräteunabhängig konfigurieren (resume=/dev/sdax). Vollbackup der Festplatte erstellen. Festplatte ausbauen und SSD rein. Danach Partitionstabelle neu erstellen inklusive aller Partitionen. Dateisysteme neu erstellen (demnach XFS anstelle von ext4) und ein “Full restore” durchführen. Zum Abschluss den Bootmanager wiederherstellen.

Ist ein “Wochenende-Projekt”. Da muss man nicht auf ein OpenSUSE Leap 15.5 warten…