Używam Linuksa 4.15 i zdarza mi się to wiele razy, gdy przeglądam Google, Facebook lub inną stronę wymagającą dużych zasobów - cały system operacyjny przestaje reagować, jest zawieszony i bezużyteczny. Jedyne, co widzę, że to działa, to dysk (główna partycja systemowa sformatowana jako ext4), który jest masowo używany (ograniczanie We / Wy).
Muszę poczekać minutę lub dłużej, aby pozbyć się wzdęcia, czasami nie reaguje przez dwanaście minut, a więc jestem sfrustrowany. Fakt, że system operacyjny nie jest w stanie dobrze poradzić sobie z wielozadaniowością, zwykle odzwierciedla absolutnie dziwne i niedopuszczalne zachowanie.
Dzieje się tak nie tylko z Firefoksem, ale z dowolną aplikacją interpretera javascript, w tym Microsoft VSCode lub angular -cli ( ng serve
polecenie), a także z każdym innym wymagającym zasobów wątkiem wykonania - takim jak przypadek plantuml podczas generowania bardzo dużego wykresu z bardzo złożony diagram UML.
Obecnie system operacyjny staje się całkowicie niemożliwy do zarządzania, po uruchomieniu oprogramowania do odzyskiwania danych dla zewnętrznego dysku twardego (na partycji ext4), który został ostatnio odłączony od złego portu USB przez mały ruch.
Nie jestem w stanie wskazać przyczyny takiego błędnego zachowania
Mam wiele otwartych kart w przeglądarce i użycie 94% partycji systemu operacyjnego według df
danych wyjściowych:
Filesystem 1K-blocks Used Available Use% Mounted on
udev 3964160 0 3964160 0% /dev
tmpfs 798164 3192 794972 1% /run
/dev/sda5 173466400 153224316 11407424 94% /
tmpfs 3990820 62936 3927884 2% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 3990820 0 3990820 0% /sys/fs/cgroup
/dev/loop5 128 128 0 100% /snap/anbox-installer/24
/dev/loop2 128 128 0 100% /snap/anbox-installer/17
/dev/loop4 223616 223616 0 100% /snap/kde-frameworks-5/26
/dev/loop3 90624 90624 0 100% /snap/core/7169
/dev/loop7 223616 223616 0 100% /snap/kde-frameworks-5/25
/dev/loop8 90624 90624 0 100% /snap/core/7270
/dev/loop0 87552 87552 0 100% /snap/qownnotes/2160
/dev/loop1 241664 241664 0 100% /snap/kde-frameworks-5/27
tmpfs 798164 0 798164 0% /run/user/0
tmpfs 798164 32 798132 1% /run/user/1000
/dev/loop9 87552 87552 0 100% /snap/qownnotes/2176
/dev/sda3 188669948 187132488 1537460 100% /media/kais/DATA
/dev/sdb1 15142960 2091904 13051056 14% /media/kais/STORE N GO
Jako sprzętu używam:
Intel Core i3 v2348M zgodnie z
lscpu
:Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 36 bits physical, 48 bits virtual CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 42 Model name: Intel(R) Core(TM) i3-2348M CPU @ 2.30GHz Stepping: 7 CPU MHz: 905.312 CPU max MHz: 2300.0000 CPU min MHz: 800.0000 BogoMIPS: 4589.49 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts
8 GB pamięci RAM. (Patrz
htop
dane wyjściowe poniżej).- 99,83 MHz prędkości magistrali płyty głównej
Wewnętrzny dysk twardy 500 GB - jest to raport SMART z systemu operacyjnego:
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.15.0-33-generic] (local build) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Western Digital Blue Mobile Device Model: WDC WD5000LPVX-22V0TT0 Serial Number: WD-WXE1E13AAMR4 LU WWN Device Id: 5 0014ee 25db04ba7 Firmware Version: 01.01A01 User Capacity: 500,107,862,016 bytes [500 GB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-2 (minor revision not indicated) SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Wed Aug 7 15:52:05 2019 CET SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 8040) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 93) minutes. Conveyance self-test routine recommended polling time: ( 5) minutes. SCT capabilities: (0x7035) SCT Status supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 1 3 Spin_Up_Time 0x0027 149 143 021 Pre-fail Always - 1541 4 Start_Stop_Count 0x0032 057 057 000 Old_age Always - 43173 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0 9 Power_On_Hours 0x0032 083 083 000 Old_age Always - 12797 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 091 091 000 Old_age Always - 9496 191 G-Sense_Error_Rate 0x0032 001 001 000 Old_age Always - 250 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 399 193 Load_Cycle_Count 0x0032 147 147 000 Old_age Always - 160989 194 Temperature_Celsius 0x0022 101 092 000 Old_age Always - 42 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0 SMART Error Log Version: 1 No Errors Logged SMART Self-test log structure revision number 1 No self-tests have been logged. [To run self-tests, use: smartctl -t] SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.
Są to wyniki wykorzystania zasobów dla htop
:
1 [||||| 14.1%] Tasks: 286, 1497 thr; 2 running
2 [||||| 13.2%] Load average: 3.00 4.97 6.09
3 [||||| 12.5%] Uptime: 3 days, 16:12:35
4 [||| 9.3%]
Mem[|||||||||||||||||||5.09G/7.61G]
Swp[|||||||||||||||||||3.68G/4.65G]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
7006 jvb 20 0 6640M 102M 6780 S 5.3 1.3 18:53.18 java -Xmx3072m -X
8224 kais 20 0 4537M 771M 200M S 6.6 9.9 2h31:23 /usr/lib/firefox/
2299 kais 20 0 2958M 184M 42912 S 5.3 2.4 13:54.41 /usr/lib/firefox/
1216 root 20 0 519M 120M 94640 S 5.3 1.5 1h52:50 /usr/lib/xorg/Xor
28401 kais 20 0 3354M 584M 107M S 7.9 7.5 34:44.51 /usr/lib/firefox/
8439 kais 20 0 4537M 771M 200M S 4.6 9.9 37:06.21 /usr/lib/firefox/
8831 kais 20 0 3222M 351M 64828 R 4.0 4.5 11:19.87 /usr/lib/firefox/
7025 jvb 20 0 6640M 102M 6780 S 0.0 1.3 0:18.34 java -Xmx3072m -X
7027 jvb 20 0 6640M 102M 6780 S 0.0 1.3 0:18.05 java -Xmx3072m -X
5901 kais 20 0 7492 5612 2904 R 4.0 0.1 0:00.66 htop
5329 kais 20 0 547M 47456 38388 S 1.3 0.6 0:01.29 /usr/lib/gnome-te
13540 kais 20 0 2958M 184M 42912 S 2.0 2.4 0:06.25 /usr/lib/firefox/
16897 kais 20 0 904M 28292 18076 S 2.0 0.4 50:08.37 pavucontrol
17999 kais 20 0 2424M 29460 25380 S 1.3 0.4 52:41.73 /usr/bin/pulseaud
F1 Help F2 Setup F3 Search F4 Filter F5 Tree F6 SortBy F7 Nice - F8 Nice + F9 Kill F10 Quit
Są to również wyniki statystyki VM wygenerowane przez polecenie vmstat 5
.
AFAIK, bloatware nie powinno powodować, że system operacyjny przestanie odpowiadać, więc nie wziąłbym pod uwagę ani nawet nie zaakceptowałem faktu, że bloatware jest główną przyczyną problemu - ponieważ zadaniem systemu operacyjnego jest izolowanie procesów i zapewnianie wielozadaniowości.
Nie wiem, czy ten problem dotyczy systemu operacyjnego, sprzętu, czy konfiguracji.
Jakieś pomysły?
vmstat 5
podczas działania systemu? Można wcześniej uruchomić vmstat i opublikować wiersze wydrukowane podczas zawieszenia. Szukam konkretnie kolumnsi
iso
, które wskazują, ile system faktycznie zamienia. Czy możesz również opublikować dane wyjściowetop
posortowane według zużycia pamięci (shift-M)? (lub jakikolwiek inny równoważny tryb htop)Odpowiedzi:
Przeciążenie dostępnej pamięci RAM, co powoduje dużą liczbę zamian, może to zrobić. Pamiętaj, że wejścia / wyjścia o losowym dostępie na mechanicznym dysku twardym wymagają przesunięcia głowicy odczytu / zapisu, która może wykonać tylko około 100 prób na sekundę.
Linux zwykle idzie na lunch całkowicie, jeśli przesadzisz z nadmiarem pamięci RAM. Mam też dysk spinny i 8 GB pamięci RAM. Miałem problemy z kilkoma programami z wyciekami pamięci. Oznacza to, że zużycie pamięci stale rośnie z czasem i nigdy się nie kurczy, więc jedynym sposobem na kontrolowanie go byłoby zatrzymanie oprogramowania, a następnie jego ponowne uruchomienie. Opierając się na doświadczeniach, jakie miałem w tym czasie, nie jestem zaskoczony słyszeniem opóźnień powyżej dziesięciu minut, jeśli generujesz 3 GB + wymiany.
Niekoniecznie zobaczysz to we wszystkich przypadkach, w których masz więcej niż 3 GB wymiany. Teoria mówi, że kluczową koncepcją jest drżenie . Z drugiej strony, jeśli próbujesz przełączać się między dwoma różnymi zestawami roboczymi, a to wymaga zamiany 3 GB wejścia i wyjścia, przy 100 MB / s zajmie to co najmniej 60 sekund, nawet jeśli wzorzec we / wy można idealnie zoptymalizować. W praktyce wzorzec We / Wy będzie daleki od optymalnego.
Po trudnościach, jakie miałem z tym, sformatowałem swoją przestrzeń wymiany do 2 GB (kilka razy mniejszą niż wcześniej), aby system nie był w stanie tak głęboko zamienić. Możesz to zrobić nawet bez zbędnego zmieniania rozmiaru partycji, ponieważ
mkswap
pobiera opcjonalny parametr rozmiaru.Zasadnicza równowaga polega na tym, że zabraknie pamięci i proces zostanie zabity, a system zawiesi się na tak długo, że zrezygnujesz i zrestartujesz komputer. Nie wiem, czy partycja wymiany 4 GB jest zbyt duża; to może zależeć od tego, co robisz. Ważne jest, aby uważać na to, kiedy dysk zaczyna się ubijać, sprawdzać zużycie pamięci i odpowiednio reagować.
Sprawdzanie wykorzystania pamięci przez aplikacje wieloprocesowe jest trudne. Aby zobaczyć użycie pamięci na proces bez podwójnego liczenia pamięci współużytkowanej, możesz użyć
sudo atop -R
, nacisnąć Mi m, i zajrzeć do kolumny PSIZE. Możesz także użyćsmem
.smem -t -P firefox
pokaże PSS wszystkich twoich procesów firefox, a następnie wiersz z całkowitym PSS. Jest to prawidłowe podejście do pomiaru całkowitego zużycia pamięci w przeglądarkach Firefox lub Chrome. (Chociaż istnieją również funkcje specyficzne dla przeglądarki, pokazujące użycie pamięci, które pokażą poszczególne zakładki).źródło
ulimit
kontrolowania wykorzystania procesów (jest to trudne w przypadku aplikacji wieloprocesowej, ale może być pomocne).ulimit
naprawdę nie pomaga.The important thing is to watch out for when the disk starts churning, check your memory usage, and respond accordingly.
<- lub, jeśli używasz GUI, stwórz crontab, który uruchamia prosty skrypt (co około minutę), który sprawdza, ile wolnej pamięci RAM zostało, ostrzegając o tym. Stworzyłem własne dla Linux Mint i sporo się z tego nauczyłem. Możesz spróbować się pobawić.Nie spodoba ci się to, ale myślę, że twój problem to bloatware (chociaż nie jestem pewien, czy problem dotyczy pamięci czy dysku). Niestety, jądro Linuksa jest okropne w radzeniu sobie z sytuacjami wysokiego ciśnienia pamięci i wiadomo, że zasadniczo wymaga ponownego uruchomienia po wyczerpaniu pamięci. Są trzy rzeczy, które prowadzą mnie do wniosku, że twój problem to wyczerpanie zasobów:
Zasadniczo, połącz te trzy razem, a twój system nie będzie miał wystarczających zasobów, aby cokolwiek zrobić. Co do niefortunnego, jak słabo Linux radzi sobie z sytuacjami braku pamięci (w porównaniu np. Do jądra NT w Windowsie), ale wydaje się, że tak właśnie jest. Więcej dyskusji można znaleźć w tym wątku Reddit i powiązanej liście adresowej.
Jeśli chodzi o sposób naprawy sytuacji, powiedziałbym, że zwiększenie rozmiaru wymiany jest dobrym pomysłem, ale ponieważ masz mało miejsca na dysku, będzie to problem. Chyba, że twój serwer Minecraft ma mnóstwo ludzi, myślę, że bezpiecznie byłoby zmniejszyć jego pamięć do około 1024m (osobiście używam 1024m z około 10 osobami i działa dobrze). Używałbym też czopa lub papieru do twojego serwera Minecraft, ponieważ wydają się one bardziej wydajne.
Powodzenia!
źródło
Jaka jest wydajność
free -m
? Ilość pamięci RAM, którą masz, nie ma sensu, jeśli nie wiemy, ile zużywasz. To i jestem zainteresowany, aby dowiedzieć się, ile przestrzeni wymiany jest używane.Myślę jednak, że odpowiedziałeś na własne pytanie. Otwarcie w przeglądarce „wielu kart” może zdecydowanie spowolnić system, jeśli nigdy ich nie zamykasz, ponieważ niezależnie od tego będą one zużywać pamięć; kiedy system zawiesza się, ile masz otwartych jednocześnie?
Ma to również sens, jeśli system zawiesza się przed innymi zadaniami wymagającymi dużej ilości pamięci, takimi jak „generowanie bardzo dużego wykresu z bardzo złożonego diagramu UML”. To absolutnie spowolni twój system podczas generowania wykresu, więc nie jest to niespodzianką.
To naprawdę brzmi tak, jak powinien zachowywać się twój system. Albo to, albo coś mi brakuje.
Nawiasem mówiąc, statystyki HDD nie mają znaczenia, jeśli system przestaje odpowiadać, ponieważ przyczyną jest prawie zawsze brak pamięci.
źródło
Kiedy czytałem ten tytuł, od razu pomyślałem, że „nie ma wystarczającej ilości pamięci RAM”, ponieważ sam doświadczyłem dokładnie tego problemu w Linuksie, ponad 10 minut szaleńczego szarpania dysku po otwarciu zbyt wielu kart przeglądarki. Zgadzam się, to jest ponure i wymaga poprawy. Windows radzi sobie z tą sytuacją znacznie lepiej.
Jakieś sugestie:
Jednak jedynym prawdziwym rozwiązaniem jest zakup większej ilości pamięci RAM.
Obfitość pamięci RAM nie tylko zapobiegnie tej katastrofie, ale pozwoli systemowi na utworzenie dużej pamięci podręcznej plików w pamięci RAM, czego system obecnie nie może zrobić, ponieważ działa tak blisko limitu. Duża pamięć podręczna plików zabierze pracę z dysku twardego i sprawi, że prawie każda akcja w systemie będzie generalnie szybsza. To jest tego warte.
źródło
Twoje wyjście htop pokazuje, że potrzebujesz więcej pamięci RAM niż pojemność (całkowita pamięć RAM + SWAP). Oczywistym pierwszym czynnikiem, który należy rozważyć, jest zmniejszenie zużycia pamięci RAM lub zwiększenie dostępności pamięci RAM.
Zwróć uwagę, że współczesne wersje firefox są bardzo wymagające zasobów, ze względu na sposób, w jaki okna / karty mają przydzielone miejsce na proces i pamięć. Chodziło o to, aby uniknąć awarii kart, powodując, że cała przeglądarka padnie na kolana. Czy to jest warte swojej ceny? Kto może powiedzieć ... W każdym razie miałem podobny problem z powodu powyższego, ponieważ moja płyta główna Pentium 4 obsługuje tylko 2 GB pamięci RAM. Aby uniknąć możliwych awarii pamięci, dodałem ~ 800M miejsca wymiany na zapasowym dysku SSD, oczywiście z zamiarem korzystania z niego jak najmniej. Osiągnąłem to, zmieniając ustawienie zwane swapiness, które określa, jak chętnie jądro wymienia strony pamięci. Niektóre przydatne polecenia w następujący sposób.
Sprawdź aktualną zamianę:
cat /proc/sys/vm/swappiness
Może to dać wynik około 60, który jest dość wysoki dla maksymalnej wydajności w systemach o niższym obciążeniu. Dla ciebie to oczywiście działa przeciwnie do zamierzonego, więc możesz zmienić to ustawienie za pomocą polecenia, np.
sysctl vm.swappiness=1
Zmienić ustawienie, gdy system jest uruchomiony.Aby zapisać te zmiany, musisz poszukać pliku
/etc/sysctl.conf
. W tym pliku zmień wartość lub dodaj linięvm.swappiness=1
.Pamiętaj, że to nie jest rozwiązanie w twoim przypadku, ale powinno być użytecznym obejściem.
Kredyty https://askubuntu.com/questions/103915/how-do-i-configure-swappiness
źródło powyższej odpowiedzi zawiera dalsze wyjaśnienia. Uważam ten post za bardzo pomocny w moim przypadku.
źródło
Doskonała dyskusja na temat tego, w jaki sposób problem jest wywoływany, trwa i rośnie. Lubię wyprzedzać takie problemy, jakie występują, rzucając sprzęt na początkowy projekt komputera i / lub aktualizując istniejącą implementację. Czy możesz,
dodaj pamięć RAM (32 GB działa świetnie dla wielu konfiguracji)
wymień dysk twardy na dysk SSD
dodaj dysk SSD (Solid State Drive) dla dysku wymiany
utwórz partycję wymiany w pamięci RAM (z 32 lub więcej GB pamięci RAM)
uzyskaj szybszy dysk twardy
przejdź do systemu z szybszym przetwarzaniem i szerszą / szybszą architekturą magistrali.
Niektóre z tych aktualizacji / wymiany sprzętu mogą być znacznie niższe niż 100 USD. Nie dotyczy to Linuksa ani konkretnych implementacji oprogramowania, ale sprzęt, którego używasz, nie wydaje się odpowiedni do twoich zadań.
źródło
Zwykle „tylko” X11 staje się bezużyteczny. Aby uzyskać naciśnięcie klawisza z klawiatury do programu i wyświetlać wszystko na ekranie, należy uruchomić kod w kilku różnych procesach. (Serwer X, aby uzyskać naciśnięcie klawisza z jądra, xterm lub odpowiednika, aby uzyskać zdarzenie i zdecydować o narysowaniu czegoś, a następnie wysłać wiadomość do serwera X, aby narysować glif z czcionki.)
Wystarczy machnięcie myszą nad oknem za pomocą przeglądarki internetowej pokazującej stronę z wieloma bzdurami Javascript może spowodować powstanie wielu wiadomości dla wielu procesów, z których wszystkie powodują, że procesy te się budzą i dotykają wielu danych. Prawdopodobnie zawiera kilka „buforowanych” nieskompresowanych bitmap. Jest więc wysoce prawdopodobne, że spowoduje to eksmisję większej liczby rzeczy, które wkrótce będą potrzebne.
ctrl + alt + F2, aby przełączyć się na inną wirtualną konsolę, zazwyczaj umożliwia logowanie się i uruchamianie poleceń powłoki z zaledwie kilku sekundowym opóźnieniem, gdy coś powoduje wyrzucenie wymiany. To tylko
bash
; jądro Linuksa nie jest wymienne i ma całykod VT i klawiaturę <-> TTY.
Aby uniknąć spowolnienia, gdy nie jesteś naprawdę thrashowaniem, pomocne może być zmniejszenie „zamiany”. np. ustawiłem
/proc/sys/vm/swappiness
przestrajanie6
na moim pulpicie z 16 GB pamięci RAM i 2 GB partycji wymiany na dysku SSD NVMe. Możesz przeczytać więcej o dostrajaniu pod kątem opóźnień interaktywnych (w przeciwieństwie do przepustowości serwera); jakikolwiek przewodnik wspomina o możliwości przestrajania.Ale jeśli w ogóle masz zamianę, Linux użyje jej przed wywołaniem zabójcy OOM. Utrzymuj małą partycję wymiany , na tyle dużą, aby Linux mógł odrzucić naprawdę stare bzdury, które zwykle nie są używane przez długi czas. (np. wycieki pamięci!)
Nie miałem żadnych problemów z zapełnieniem wymiany. Współczesny Linux radzi sobie z ograniczoną przestrzenią wymiany. Chrom (którego używam zamiast firefoxa) czasami staje się powolny z dziesiątkami otwartych kart Przepełnienia stosu, ale The Great Suspender to miły dodatek do rozładowywania kart, gdy ich nie używasz. Myślę, że oszczędza to dla mnie znaczną pamięć RAM, chociaż zwalnia tylko karty, w których nie wpisałeś niczego w polu tekstowym. Może być również dostępny dla przeglądarki Firefox.
Jak sugerują inni, 16 GB pamięci RAM jest naprawdę przydatne do interaktywnego użytku z Linuksem. Ceny DRAM są obecnie stosunkowo niskie ; po gwałtownym wzroście około 1,5 roku temu, przeważnie znów spadły.
źródło
plasma
) odkwin
menedżera okien.xev
jakiś czas, aby zobaczyć, jakie wiadomości możesz uzyskać po poruszeniu myszą. Spróbuj takżestrace xev
zobaczyć wywołania systemowe, które dotyczą strony klienta.xev
polecenia otrzymuję wiadomości tylko przez przełączanie się do różnych okien i klikanie ich, ale nie dzieje się tak, gdy po prostu przesuwam kursor myszy.Nie używasz poprawnie Linuksa. Co staje się szczególnie widoczne na maszynie o ograniczonych zasobach. Nie potrzebujesz więcej pamięci RAM ani szybszego procesora.
Tło:
Aby „naprawić” problem:
Pozostaw programy niebędące użytkownikami w spokoju, ale zacznij zmieniać priorytety (ładne poziomy) swoich programów użytkownika, aby nie powodowały problemów. Edytuj, co uruchamia twoje programy, aby zawierały ładne poziomy, od zazwyczaj nie stanowiącego problemu, do najgorszego przestępcy.
Przykłady ze świata rzeczywistego:
Twój WorstOffender nadal nie będzie reagował przez kilka minut, to dosłownie problem z zakupem lepszego pudełka, ale teraz nie spowoduje to, że cały system operacyjny (Linux) i wszystko, co masz uruchomione, również przestanie odpowiadać.
źródło
nice -n
. „Nie potrzebujesz więcej pamięci RAM” - z pewnością potrzebuje więcej pamięci RAM; lub może użyć,ulimit
aby mocno ograniczyć najgorszych przestępców, aby jego obecna pamięć RAM była znowu wystarczająca. „Nie używasz poprawnie Linuksa”. jest całkowicie wyłączony.