สิ่งใดที่ทำให้ Linux ไม่ตอบสนองนานเป็นนาทีเมื่อเรียกดูบางเว็บไซต์


28

ฉันใช้ Linux 4.15 และสิ่งนี้เกิดขึ้นกับฉันหลายครั้งเมื่อฉันเรียกดู Google, Facebook หรือเว็บไซต์ที่ใช้ทรัพยากรมาก - ระบบปฏิบัติการทั้งหมดไม่ตอบสนองแช่แข็งและไร้ประโยชน์ สิ่งเดียวที่ฉันเห็นว่าใช้งานได้คือดิสก์ (พาร์ติชันระบบหลักที่จัดรูปแบบเป็น ext4) ซึ่งมีการใช้งานอย่างหนาแน่น (การควบคุมปริมาณ I / O)

ฉันถูกบังคับให้รอประมาณหนึ่งนาทีหรือมากกว่านั้นเพื่อขจัดปมบางครั้งมันก็ไม่ตอบสนองเป็นเวลาสิบสองนาทีและด้วยเหตุนี้ฉันจึงรู้สึกหงุดหงิด ความจริงที่ว่าระบบปฏิบัติการไม่สามารถจัดการการทำงานหลายอย่างพร้อมกันได้อย่างดีมีแนวโน้มที่จะสะท้อนพฤติกรรมที่แปลกและไม่เป็นที่ยอมรับ

ไม่เพียงแค่นี้เกิดขึ้นกับ Firefox แต่มีการใด ๆการประยุกต์ใช้จาวาสคริปต์ล่ามรวมถึงไมโครซอฟท์ VSCodeหรือเชิงมุม-CLI ( ng serveคำสั่ง) เช่นเดียวกับด้ายทรัพยากรหิวอื่น ๆ ของการดำเนินการ - เช่นกรณีของplantumlเมื่อมีการสร้างกราฟขนาดใหญ่มากจาก แผนภาพ UML ที่ซับซ้อนมาก

วันนี้ระบบปฏิบัติการจะไม่สามารถจัดการได้อย่างสมบูรณ์หลังจากเปิดตัวซอฟต์แวร์กู้คืนข้อมูลสำหรับ HDD ภายนอก (บนพาร์ติชัน ext4) ที่เพิ่งถอดปลั๊กจากพอร์ต USB ที่ไม่ดีเพียงเล็กน้อย

ฉันไม่สามารถบอกสาเหตุที่แท้จริงของพฤติกรรมรถบั๊กกี้ได้

ฉันมีแท็บจำนวนมากที่เปิดในเบราว์เซอร์และการใช้งานพาร์ติชัน 94% ตามdfผลลัพธ์:

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

ในฐานะฮาร์ดแวร์ฉันใช้:

  1. Intel Core i3 v2348M ตาม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
    
  2. RAM 8 GB (ดูhtopผลลัพธ์ด้านล่าง)

  3. ความเร็วบัสของเมนบอร์ด 99.83 MHz
  4. HDD ภายใน 500 GB - นี่คือรายงาน SMART จากระบบปฏิบัติการ:

    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.
    

นี่คือผลลัพธ์ของการใช้ทรัพยากรต่อ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

ผู้ที่เป็นผลของสถิติ VM vmstat 5เป็นอย่างดีที่สร้างขึ้นโดยคำสั่ง

AFAIK, bloatware ไม่ควรทำให้ระบบปฏิบัติการไม่ตอบสนองดังนั้นฉันจะไม่พิจารณาหรือยอมรับว่า bloatware เป็นสาเหตุหลักของปัญหา - เนื่องจากงาน OS แยกกระบวนการและทำให้มั่นใจในการทำงานหลายอย่าง

ฉันไม่ทราบว่าปัญหานี้เฉพาะกับระบบปฏิบัติการเฉพาะฮาร์ดแวร์หรือเฉพาะการกำหนดค่า

ความคิดใด ๆ


4
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตคำถามตามที่จำเป็นสำหรับการชี้แจงใด ๆ ที่เป็นผลมาจากความคิดเห็น / การแชท ขอขอบคุณ!
Jeff Schaller

3
ฉันสงสัยว่าระบบของคุณมีการแลกเปลี่ยนมาก คุณสามารถทำงานvmstat 5ในขณะที่ระบบของคุณทำงานได้หรือไม่ มันก็โอเคที่จะเริ่ม vmstat ล่วงหน้าและโพสต์แถวที่พิมพ์ในช่วงค้าง ฉันกำลังมองหาคอลัมน์siและsoคอลัมน์ซึ่งระบุว่าระบบกำลังทำการแลกเปลี่ยนจริงๆ นอกจากนี้คุณสามารถโพสต์เอาต์พุตของtopเรียงลำดับตามการใช้หน่วยความจำ (shift-M) ได้หรือไม่ (หรืออะไรก็ตามที่โหมด htop เทียบเท่าคือ)
marcelm

1
เมื่อระบบไฟล์เกือบเต็มระบบอาจช้ามาก ฉันไม่แน่ใจว่ากรณีนี้น่าจะเป็นกับ ext4
ไม่มีใคร

1
@Kais ลองทั้งคู่แล้วดูว่าอะไรดี? การแลกเปลี่ยนของฉันเติมได้มากถึงครึ่งของสิ่งที่ฉันเตรียมไว้และมันไม่ทำให้ฉันค้างเลย ไม่ว่าใครจะมีประสบการณ์การชะลอตัวหรือไม่จากการใช้ swap ขึ้นอยู่กับรูปแบบการใช้งานที่ฉันคิดว่าดังนั้นประสบการณ์ของเราอาจแตกต่าง
JoL

2
ลองปิดการใช้งาน swap ทั้งหมด - ซึ่งจะยืนยันหรือกำจัดดิสก์ thrashing เป็นสาเหตุของปัญหา จุดเปลี่ยนคือการวางเพจที่ไม่ได้ใช้บนดิสก์ แต่ถ้าส่วนใหญ่ของเพจนั้นถูกใช้งานอยู่จริงๆการสลับจะไม่ช่วย หากปริมาณงานทั่วไปของคุณต้องการเพจขนาด 10GB เครื่อง 8GB จะมีปัญหา คำตอบของการหมดทรัพยากรคือการลดปริมาณงานหรือเพิ่มทรัพยากร (ในกรณีนี้ให้ลองใช้ chrome หรือเพิ่มหน่วยความจำกายภาพเพิ่มเติม)
bain

คำตอบ:


27

สิ่งใดที่ทำให้ Linux ไม่ตอบสนองได้?

การใช้ RAM มากเกินไปซึ่งทำให้การแลกเปลี่ยนเป็นจำนวนมากสามารถทำได้อย่างแน่นอน โปรดจำไว้ว่าการเข้าถึง I / O แบบสุ่มบน HDD เชิงกลของคุณต้องการการย้ายหัวอ่าน / เขียนซึ่งสามารถทำได้ประมาณ 100 ครั้งต่อวินาที

เป็นเรื่องปกติที่ Linux จะออกไปรับประทานอาหารกลางวันโดยสิ้นเชิงหากคุณ overcommit RAM "มากเกินไป" ฉันยังมีดิสก์ spinny และ RAM 8GB ฉันมีปัญหากับซอฟต์แวร์สองสามชิ้นที่มีหน่วยความจำรั่ว นั่นคือการใช้งานหน่วยความจำของพวกเขาเพิ่มขึ้นเรื่อย ๆ เมื่อเวลาผ่านไปและไม่เคยลดขนาดดังนั้นวิธีเดียวที่จะควบคุมมันได้คือการหยุดซอฟต์แวร์แล้วเริ่มต้นใหม่ จากประสบการณ์ที่ได้รับในระหว่างนี้ฉันไม่แปลกใจมากที่ได้ยินความล่าช้าเกินสิบนาทีหากคุณสร้าง swap 3GB +

คุณไม่จำเป็นต้องเห็นสิ่งนี้ในทุกกรณีที่คุณมีการสลับมากกว่า 3GB ทฤษฎีบอกว่าแนวคิดที่สำคัญคือการนวด ในทางกลับกันหากคุณพยายามสลับระหว่างชุดการทำงานที่แตกต่างกันสองชุดและต้องสลับการเข้าและออก 3GB ที่ 100MB / s จะใช้เวลาอย่างน้อย 60 วินาทีแม้ว่าจะสามารถปรับรูปแบบ I / O ได้อย่างสมบูรณ์แบบ ในทางปฏิบัติรูปแบบ I / O จะไม่เหมาะสม

หลังจากความยากลำบากในเรื่องนี้ฉันได้ทำการฟอร์แมตพื้นที่สว็อปใหม่เป็น 2GB (เล็กกว่าหลายเท่าก่อนหน้า) ดังนั้นระบบจะไม่สามารถสลับได้อย่างล้ำลึก คุณสามารถทำสิ่งนี้ได้โดยไม่ต้องยุ่งกับการปรับขนาดพาร์ติชันเนื่องจากmkswapใช้พารามิเตอร์ขนาดเป็นทางเลือก

ความสมดุลคร่าวๆคือระหว่างหน่วยความจำไม่เพียงพอและการทำให้กระบวนการถูกฆ่าและการที่ระบบหยุดทำงานเป็นเวลานานจนคุณยอมแพ้และเริ่มระบบใหม่ ฉันไม่รู้ว่าพาร์ติชั่น swap 4GB มีขนาดใหญ่เกินไปหรือไม่ มันอาจขึ้นอยู่กับสิ่งที่คุณทำ สิ่งสำคัญคือต้องระวังเมื่อดิสก์เริ่มปั่นตรวจสอบการใช้หน่วยความจำของคุณและตอบสนองตามนั้น

การตรวจสอบการใช้งานหน่วยความจำของแอพพลิเคชั่นหลายกระบวนการนั้นเป็นเรื่องยาก หากต้องการดูการใช้งานหน่วยความจำต่อกระบวนการโดยไม่ต้องหน่วยความจำร่วมการนับซ้ำคุณสามารถใช้sudo atop -RกดMและmและดูในคอลัมน์ PSIZE smemนอกจากนี้คุณยังสามารถใช้ smem -t -P firefoxจะแสดง PSS ของกระบวนการ Firefox ทั้งหมดของคุณตามด้วยบรรทัดด้วย PSS ทั้งหมด นี่เป็นวิธีที่ถูกต้องในการวัดการใช้หน่วยความจำทั้งหมดของเบราว์เซอร์ที่ใช้ Firefox หรือ Chrome (แม้ว่าจะมีคุณสมบัติเฉพาะเบราว์เซอร์สำหรับแสดงการใช้หน่วยความจำซึ่งจะแสดงแท็บแต่ละแท็บ)


1
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Jeff Schaller

อาจคุ้มค่าที่จะพิจารณาการใช้ulimitเพื่อพยายามควบคุมการใช้งานของกระบวนการ (มันยุ่งยากกับแอปพลิเคชันแบบหลายขั้นตอน แต่อาจมีประโยชน์)
Toby Speight

2
@TobySpeight หากคุณต้องการ จำกัด การใช้งานหน่วยความจำของแอปคุณต้องใช้ cgroups ulimitจริงๆไม่ได้ช่วย
sourcejedi

ใช่ว่าเป็นตัวเลือกที่ดีกว่า มันคุ้มค่าที่จะกล่าวถึงในคำตอบใช่ไหม
Toby Speight

2
The important thing is to watch out for when the disk starts churning, check your memory usage, and respond accordingly.<- หรือหากคุณใช้ GUI ให้สร้าง crontab ที่เรียกใช้สคริปต์อย่างง่าย (ทุกนาทีหรือมากกว่านั้น) ที่จะตรวจสอบจำนวน RAM ที่คุณเหลือทิ้งให้เตือนคุณ ฉันสร้างของตัวเองสำหรับ Linux Mint และฉันเรียนรู้จากมันเล็กน้อย เป็นสิ่งที่คุณสามารถลองเล่นไปด้วย
Ismael Miguel

5

AFAIK, bloatware ไม่ควรทำให้ระบบปฏิบัติการไม่ตอบสนองดังนั้นฉันจะไม่พิจารณาหรือยอมรับว่า bloatware เป็นสาเหตุของปัญหา

คุณจะไม่ชอบสิ่งนี้ แต่ฉันคิดว่า bloatware เป็นปัญหาของคุณ (แม้ว่าฉันไม่แน่ใจว่าเป็นหน่วยความจำหรือดิสก์ซึ่งเป็นปัญหา) โชคไม่ดีที่เคอร์เนล Linux ทำงานได้อย่างยอดเยี่ยมในการรับมือกับสถานการณ์ความกดดันของหน่วยความจำสูงและเป็นที่รู้กันโดยทั่วไปว่าต้องมีการรีบูตเมื่อหน่วยความจำหมด มีสามสิ่งที่ทำให้ฉันเชื่อว่าปัญหาของคุณคือความอ่อนล้าของทรัพยากร:

  1. พื้นที่ดิสก์ของคุณบนรูท (/) และ DATA เกือบเต็มแล้ว ฉันไม่แน่ใจว่าคุณใช้ข้อมูลอะไร แต่ฉันพบปัญหาก่อนปรับขนาดพาร์ติชันรากของฉันเล็กเกินไปและระบบของฉันไม่สามารถใช้งานได้
  2. คุณมีความดันหน่วยความจำสูงหมายความว่า RAM ของคุณเกือบเต็มแล้ว เมื่อ RAM เริ่มเต็มคุณจะเริ่มได้รับความผิดพลาดหน้า ความผิดพลาดของหน้าเกิดขึ้นเมื่อเคอร์เนลไม่สามารถจัดสรรหน่วยความจำเพียงพอสำหรับกระบวนการและต้องใช้ระบบสว็อปพื้นที่บางส่วนที่ช้ากว่ามาก สิ่งนี้นำเราไปสู่การสังเกตครั้งสุดท้ายของเรา:
  3. พื้นที่สว็อปของคุณใกล้เต็มแล้ว เห็นได้ชัดว่ามีแรงกดดันหน่วยความจำสูงในระบบของคุณเนื่องจาก RAM และ swap เกือบเต็ม

โดยพื้นฐานแล้วให้รวมสามสิ่งนี้เข้าด้วยกันและระบบของคุณไม่มีทรัพยากรเพียงพอที่จะทำอะไรได้มาก โชคไม่ดีที่ลีนุกซ์จัดการกับสถานการณ์ที่มีหน่วยความจำต่ำได้ไม่ดี (เมื่อเทียบกับพูดว่าเคอร์เนล NT ใน Windows) แต่ดูเหมือนว่ามันจะเป็นอย่างไร คุณสามารถค้นหาการสนทนาเพิ่มเติมในเธรด Reddit นี้และรายชื่อผู้รับจดหมายที่เชื่อมโยง

สำหรับวิธีการแก้ไขสถานการณ์ของคุณฉันจะบอกว่าการเพิ่มขนาดการสลับเป็นความคิดที่ดี แต่เนื่องจากคุณมีพื้นที่ดิสก์เหลือน้อยที่จะเป็นปัญหา ยกเว้นว่าเซิร์ฟเวอร์ Minecraft ของคุณมีผู้คนมากมายฉันคิดว่ามันจะปลอดภัยที่จะลดความทรงจำลงเหลือประมาณ 1024 ม. (ฉันใช้ 1024m โดยส่วนตัวกับประมาณ 10 คนและทำงานได้ดี) ฉันจะใช้จุกหรือกระดาษสำหรับเซิร์ฟเวอร์ Minecraft ของคุณเพราะพวกเขามักจะมีประสิทธิภาพมากกว่า

โชคดี!


7
เห็นได้ชัดว่าหน่วยความจำที่เป็นปัญหาไม่ใช่ดิสก์ เป็นเรื่องจริงที่ Linux ไม่ดีภายใต้ความกดดันของหน่วยความจำสูง แต่มันไม่เป็นความจริงที่จำเป็นต้องรีบูต หากคุณจัดการเพิ่มหน่วยความจำบางส่วน Linux จะตอบสนองเหมือนเดิมก่อนที่ความดันหน่วยความจำจะเกินความจุที่มีอยู่
Gilles 'หยุดความชั่วร้าย' ใน

1
@ Kais ฉันพูดว่า "นี่ทำให้เราสังเกตการณ์ครั้งสุดท้าย" ในฐานะเซคิวคิวตั้งแต่ฉันพูดถึงพื้นที่สว็อปและจะพูดต่อในประเด็นที่ 3 เกี่ยวกับ Minecraft ดูเหมือนว่าคุณใช้เซิร์ฟเวอร์ Minecraft และได้จัดสรร 3G ของ RAM ไปเลย ฉันแค่บอกว่าถ้าคุณมีคนเล่นมากมายในเวลาเดียวกันคุณอาจไม่ต้องการ RAM มากขนาดนั้น ฉันพูดว่า "พวกเขามีแนวโน้มที่จะมีประสิทธิภาพมากกว่า" เมื่อพูดถึงกระดาษและหัวจุกซึ่งเป็นเซิร์ฟเวอร์ Minecraft ทางเลือกซึ่งมีประสิทธิภาพที่ดีกว่าวานิลลา MC
ไล่

2
ฉันได้ยินมาว่าโดยทั่วไปแล้วการใช้การแลกเปลี่ยนเป็นความคิดที่ไม่ดีใช่ไหม อย่างน้อยในสภาพแวดล้อมเซิร์ฟเวอร์เมื่อการแช่แข็งเป็นเวลา 12 นาทีไม่เป็นที่ยอมรับ?
9ilsdx 9rvj 0lo

2
@Kais จากประสบการณ์ของฉัน Windows ยิ่งแย่ลงด้วยโปรแกรมที่ไม่ใช่ GUI แต่มันจะระงับโปรแกรม GUI ที่ไม่ทำงานเบื้องหน้าหากความดันหน่วยความจำสูงซึ่งแก้ปัญหาสำหรับเดสก์ท็อปภายใต้สมมติฐานว่าแอพพลิเคชันเดสก์ท็อปไม่มีพื้นหลัง งาน
Simon Richter

2
อาจวานิลลา Minecraft; แต่ modpacks ขนาดใหญ่ได้รับถึง 3 ลิ่มก่อนที่จะเป็นผู้เล่นที่แม้กระทั่งร่วม :)
Luaan

4

ผลลัพธ์ของfree -mอะไร ปริมาณแรมที่คุณมีนั้นไม่มีจุดหมายหากเราไม่รู้ว่าคุณใช้งานไปมากน้อยเพียงใด นั่นและฉันสนใจที่จะรู้ว่ามีการใช้พื้นที่สว็อปเท่าใด

ฉันคิดว่าคุณตอบคำถามของคุณเองแล้ว การเปิด "แท็บจำนวนมาก" ที่เปิดอยู่ในเบราว์เซอร์ของคุณอาจทำให้ระบบของคุณช้าลงอย่างแน่นอนหากคุณไม่เคยปิดแท็บเหล่านั้นเนื่องจากพวกเขาจะยังคงใช้หน่วยความจำต่อไป เมื่อระบบของคุณค้างคุณเปิดกี่ครั้ง?

นอกจากนี้ยังสมเหตุสมผลถ้าระบบของคุณค้างจากงานที่ต้องใช้หน่วยความจำมากเช่น "การสร้างกราฟขนาดใหญ่จากแผนภาพ UML ที่ซับซ้อนมาก" นั่นจะทำให้ระบบของคุณช้าลงอย่างแน่นอนในขณะที่สร้างกราฟดังนั้นมันจึงไม่น่าแปลกใจเลย

ดูเหมือนว่านี่เป็นวิธีที่ระบบของคุณควรประพฤติ ไม่ว่าจะเป็นอย่างนั้นหรือฉันขาดอะไรที่นี่

อย่างไรก็ตามสถิติ HDD ไม่สำคัญว่าเมื่อระบบของคุณไม่ตอบสนองเนื่องจากหน่วยความจำไม่เพียงพอมักเป็นสาเหตุของปัญหา


1
"นั่นจะทำให้ระบบของคุณช้าลงอย่างแน่นอน" - คาดว่าจะเป็นเช่นนี้ แต่ไม่คาดว่าจะทำให้เกิดเซสชัน X ที่ไม่สามารถควบคุมได้ (เช่นผลลัพธ์ของระบบที่ค้าง) ซึ่งฉันไม่เห็นเคอร์เซอร์ของเมาส์เคลื่อนไหว
Kais

1
ที่จริงแล้วคาดว่าพฤติกรรมที่คุณอธิบายเป็นสิ่งที่เกิดขึ้นเมื่อฉันใช้ RAM มากเกินไปในระบบของฉัน ฉันยังมีระบบของฉันเกิดการอุดตันจนถึงจุดที่ฉันไม่สามารถเปลี่ยนไปใช้เทอร์มินัลตามข้อความได้และฉันก็มี RAM เป็นสองเท่าในขณะที่คุณ หากคุณเคยเจอสถานการณ์แบบนั้นซึ่งคุณไม่สามารถใช้เซสชั่น X ของคุณได้คุณต้องเปลี่ยนไปใช้เทอร์มินัลตามข้อความและฆ่ากระบวนการที่ละเมิด หากล้มเหลวคุณจะต้องทำการรีบูตอย่างหนัก การแข่งขันที่ดีที่สุดที่ฉันสามารถบอกคุณได้
Zach Sanchez

1
@Kais macOS ก็เริ่มเฉื่อยในสถานการณ์ที่หน่วยความจำเหลือน้อย ไม่มีทางที่ระบบจะตัดสินใจได้อย่างชาญฉลาดว่าหน่วยความจำนั้นจำเป็นต้องเก็บไว้ใน RAM อย่างไรดังนั้นการสลับระหว่างแอพพลิเคชั่นจะสลับไปมาอย่างบ้าคลั่งจนถึงจุดที่ UI ไม่ตอบสนอง
Kusalananda

5
ใช่ไม่ใช่ว่าจะมีวิธีที่มีประสิทธิภาพมากกว่านี้ในการรักษาการตอบสนอง UI ของ "ตัวจัดการหน้าต่าง" การวิจัย MS เขียนทั้งระบบปฏิบัติการเชิงทดลองบนการออกแบบที่ห้ามไม่ให้เพจจิ้งตามความต้องการ หลักฐานของแนวคิด: รัน "ตัวจัดการหน้าต่าง" ใน Midori เลียนแบบแอพ Linux รวมถึง swap คุณจะไปที่ "ตัวจัดการหน้าต่าง" จะยังคงตอบสนองแม้ว่าแอพจะเปลี่ยน อย่างน้อยที่สุดมันช่วยให้คุณสามารถฆ่าแอพบางตัวเพื่อปล่อยหน่วยความจำได้อย่างน่าเชื่อถือ Linux ไม่สมบูรณ์แบบ Gnome การเปลี่ยนจาก X11 เป็น Wayland ทำให้การตอบสนองของระบบแย่ลงอย่างมาก
sourcejedi

2
สถิติ HDD อาจมีความสำคัญ สาเหตุที่เป็นไปได้อย่างหนึ่งของการไม่ตอบสนองคือดิสก์ที่ล้มเหลวซึ่งเป็นสาเหตุของงานค้าง I / O ขนาดใหญ่ แต่ฉันไม่เห็นหลักฐานใด ๆ ที่เกิดขึ้นในกรณีนี้
200_success

4

เมื่อฉันอ่านชื่อเรื่องที่ฉันคิดว่าเป็น "RAM ไม่เพียงพอ" เพราะฉันประสบปัญหานี้ด้วยตัวเองบน Linux, ดิสก์ที่มีความเร็วมากขึ้น 10 นาทีหลังจากเปิดแท็บเบราว์เซอร์จำนวนมากเกินไป ฉันเห็นด้วยมันกลุ้มใจและต้องการการปรับปรุง Windows จัดการกับสถานการณ์นี้ได้ดีกว่ามาก

ข้อเสนอแนะบางส่วน:

  • เพิ่มแอปเพล็ตมอนิเตอร์หน่วยความจำในถาดระบบของคุณเพื่อให้คุณสามารถจับตามองได้
  • ในการกำหนดค่าตามความชอบของ Firefox ให้ตั้งค่า "ขีด จำกัด กระบวนการเนื้อหา" เป็น "1" ดังที่ข้อความด้านล่างการตั้งค่าบอกว่า: "กระบวนการเนื้อหาเพิ่มเติมสามารถปรับปรุงประสิทธิภาพเมื่อใช้หลายแท็บ แต่จะใช้หน่วยความจำมากขึ้นด้วย"
  • ลบหรือแทนที่ส่วนเสริมของเบราว์เซอร์ที่หิวกระหาย รักษาตัวบล็อกโฆษณาของคุณไว้เนื่องจากโฆษณากินหน่วยความจำมากกว่าตัวบล็อกใด ๆ
  • ตรวจสอบและลบโปรแกรมที่ใช้หน่วยความจำอื่น ๆ

อย่างไรก็ตามทางออกเดียวที่แท้จริงคือซื้อ RAM เพิ่ม

ไม่เพียง แต่ RAM จำนวนมากจะป้องกันภัยพิบัตินี้ แต่จะทำให้ระบบสามารถสร้างแคชไฟล์ขนาดใหญ่ใน RAM ซึ่งระบบของคุณไม่สามารถทำได้ในขณะนี้เพราะทำงานใกล้ถึงขีด จำกัด แล้ว ไฟล์แคชขนาดใหญ่จะทำงานห่างจาก HDD และทำให้เกือบทุกการกระทำในระบบรู้สึกเร็วขึ้นโดยทั่วไป มันคุ้มค่า.


คำตอบที่ดีขอบคุณมาก แต่เกี่ยวกับ "กระบวนการเนื้อหาเพิ่มเติมสามารถปรับปรุงประสิทธิภาพเมื่อใช้หลายแท็บ แต่จะใช้หน่วยความจำมากขึ้นด้วย" - หากฉันเข้าใจถูกต้อง Firefox สามารถเปิดได้มากถึง 8 กระบวนการต่อแท็บต่อการตั้งค่าเริ่มต้นหรือไม่
Kais

1
@ Kais ฉันคิดว่ามันเป็น 1 กระบวนการต่อแท็บ ไม่ว่าในกรณีใด ๆ หากคุณตั้งค่าขีด จำกัด ไว้ที่ 1 จะเป็น 1 ผลรวมกระบวนการสำหรับแท็บทั้งหมดซึ่งควรใช้หน่วยความจำน้อยลง
Boann

เข้าใจขอบคุณอีกครั้ง
Kais

4

เอาต์พุต htop ของคุณแสดงว่าความต้องการ RAM ของคุณสูงกว่าความจุ (RAM ทั้งหมด + SWAP) ดังนั้นสิ่งที่ควรคำนึงถึงเป็นอันดับแรกคือลดการใช้ RAM หรือเพิ่มความพร้อมใช้งานของ RAM

โปรดทราบว่าวันที่ทันสมัยรุ่น Firefox เป็นอย่างยิ่งทรัพยากรหิวเนื่องจากวิธีการที่หน้าต่าง / แท็บจะได้รับการประมวลผลและพื้นที่หน่วยความจำ ความคิดคือการหลีกเลี่ยงแท็บที่ขัดข้องนำเบราว์เซอร์ทั้งหมดไปที่หัวเข่า คุ้มค่ากับราคาหรือไม่ ใครสามารถบอกได้ว่า ... อย่างไรก็ตามฉันมีปัญหาคล้ายกันเนื่องจากข้างต้นเนื่องจากเมนบอร์ด Pentium 4 ของฉันรองรับ RAM 2GB เท่านั้น เพื่อหลีกเลี่ยงความผิดพลาดที่อาจเกิดขึ้นกับหน่วยความจำฉันได้เพิ่มพื้นที่สว็อป ~ 800M บน SSD สำรองซึ่งเห็นได้ชัดว่ามีความตั้งใจที่จะใช้น้อยที่สุด ฉันทำได้โดยการเปลี่ยนการตั้งค่าที่เรียกว่า swappiness ซึ่งกำหนดว่าเคอร์เนลกระตือรือร้นที่จะสลับหน้าหน่วยความจำออก คำสั่งที่มีประโยชน์บางอย่างดังต่อไปนี้

ตรวจสอบความรวดเร็วในปัจจุบัน: cat /proc/sys/vm/swappiness

สิ่งนี้อาจให้ผลลัพธ์ประมาณ 60 ซึ่งค่อนข้างสูงสำหรับประสิทธิภาพสูงสุดของระบบที่มีโหลดต่ำกว่า สำหรับคุณเห็นได้ชัดว่านี่ใช้งานได้ผลดีดังนั้นคุณสามารถเปลี่ยนการตั้งค่าโดยใช้คำสั่งเช่นsysctl vm.swappiness=1เปลี่ยนการตั้งค่าในขณะที่ระบบกำลังทำงาน

/etc/sysctl.confเพื่อบันทึกการเปลี่ยนแปลงเหล่านี้คุณจะต้องมองหาไฟล์ vm.swappiness=1ในแฟ้มที่เปลี่ยนค่าหรือเพิ่มบรรทัด

ใจนี่ไม่ใช่วิธีแก้ปัญหาในกรณีของคุณ แต่ควรใช้วิธีแก้ปัญหาที่ใช้งานได้

เครดิต https://askubuntu.com/questions/103915/how-do-i-configure-swappiness

แหล่งที่มาสำหรับคำตอบข้างต้นรวมถึงคำอธิบายเพิ่มเติม ฉันพบว่าโพสต์มีประโยชน์มากในกรณีของฉัน


ขอบคุณสำหรับคำตอบของคุณ นี่เป็นคำแนะนำที่ดีสำหรับการกำหนดค่า VM
Kais

2

การอภิปรายที่ยอดเยี่ยมเกี่ยวกับวิธีที่ทำให้เกิดปัญหาดำเนินต่อไปและเติบโตขึ้น ฉันชอบที่จะก้าวไปข้างหน้าของปัญหาเช่นประสบการณ์ของคุณโดยการขว้างปาฮาร์ดแวร์ที่การออกแบบของคอมพิวเตอร์เริ่มต้นและ / หรืออัพเกรดการใช้งานที่มีอยู่ คุณสามารถ,

  • เพิ่ม RAM (32GB ใช้งานได้ดีสำหรับการตั้งค่าจำนวนมาก)

  • แทนที่ฮาร์ดดิสก์ของคุณด้วย SSD

  • เพิ่ม SSD (โซลิดสเตตไดรฟ์) สำหรับไดรฟ์สลับ

  • สร้าง swap swap ใน RAM (ด้วย RAM อย่างน้อย 32 GB)

  • รับ HDD ที่เร็วกว่า

  • ย้ายไปที่ระบบที่มีการประมวลผลที่เร็วขึ้นและสถาปัตยกรรมบัสที่กว้างขึ้น / เร็วขึ้น

การอัพเกรด / การเปลี่ยนฮาร์ดแวร์เหล่านี้บางอย่างอาจต่ำกว่า $ 100US สิ่งเหล่านี้ไม่เฉพาะเจาะจงสำหรับ Linux หรือการใช้งานซอฟต์แวร์ที่แน่นอนของคุณ แต่ฮาร์ดแวร์ที่คุณใช้ดูเหมือนจะไม่เพียงพอสำหรับงานของคุณ


1
คำตอบที่มีประโยชน์มากขอบคุณสำหรับการชี้ให้เห็นคำแนะนำการเปลี่ยนฮาร์ดแวร์
Kais

1
ฉันหวังว่ามันจะช่วย ไม่ทราบว่าคอมพิวเตอร์หรืออุปกรณ์เฉพาะประเภทใดดังนั้นสิ่งเหล่านี้จึงเป็นขั้นตอนทั่วไปเพื่อการปรับปรุงที่เป็นไปได้มากที่สุด สิ่งใดสิ่งหนึ่งหรือทั้งหมดจะช่วยให้การชะลอตัวของคุณโดยเฉพาะที่เกิดขึ้นเนื่องจากการแคชแคชการสลับและการอ่าน / เขียนดิสก์ที่เร็วขึ้นและน้อยลงโดยทั่วไป
ลุงเก่าโฮ

6
ส่วนใหญ่เป็นคำแนะนำที่ดี แต่การสลับเป็น RAM นั้นไม่มีประโยชน์เว้นแต่ว่าคุณใช้zramหรือzswapสำหรับการบีบอัดการสลับเป็น RAM - พวกมันมีค่า แต่การสลับไปใช้ ramdisk ที่ไม่บีบอัดจะสร้างแรงกดดัน RAM เท่าที่มันคลาย อันที่จริงมากขึ้นเล็กน้อยเนื่องจากค่าใช้จ่าย)
cas

ฉันไม่แน่ใจว่าทำไมทุกคนถึงเปลี่ยนมาใช้ RAM ยกเว้นเมื่อทำการบีบอัดซึ่งดูเหมือนจะเป็นแนวคิดที่ยอดเยี่ยมสำหรับปริมาณงานที่มี RAM สูง / ต่ำ CPU
Peter - Reinstate Monica

1
@bain: มันเป็นวิธีที่ดีกว่าที่เคยมีการสลับหน้ากับ RAM กับแมปที่ยังคง? พวกเขายังคงใช้ RAM จริงหลายหน้ายกเว้นว่าคุณใช้การบีบอัด นั่นคือสิ่งที่คุ้มค่า ความแตกต่างเพียงอย่างเดียวคือการทำบัญชีที่มากกว่า แต่อาจทำความสะอาดตารางหน้าฮาร์ดแวร์ สำหรับหน่วยความจำที่เริ่มต้นเท่านั้นที่ประมวลผลโดยทั่วไปละเลยการทำแผนที่เช่นฟังก์ชั่น / ข้อมูลที่ถูกแตะระหว่างการเริ่มต้นเท่านั้นการสลับไปที่ดิสก์จะดีกว่าเพราะไม่ใช้พื้นที่ DRAM ใด ๆ สำหรับ daemons พื้นหลังที่ไม่ได้ใช้แบบโต้ตอบเวลาแฝงไม่สำคัญดังนั้นการแลกเปลี่ยนดิสก์จะชนะ
Peter Cordes

2

โดยปกติจะเป็น "เพียงแค่" X11 ที่ไม่สามารถใช้งานได้ ในการรับการกดแป้นพิมพ์จากแป้นพิมพ์ของคุณไปยังโปรแกรมและแสดงสิ่งใดบนหน้าจอให้ใช้รหัสในกระบวนการที่แตกต่างกันหลายขั้นตอน (เซิร์ฟเวอร์ X เพื่อรับการกดแป้นจากเคอร์เนล xterm หรือเทียบเท่าเพื่อรับเหตุการณ์และตัดสินใจที่จะวาดบางอย่างจากนั้นส่งข้อความไปยังเซิร์ฟเวอร์ X เพื่อวาดสัญลักษณ์จากฟอนต์)

เพียงแค่โบกเมาส์ไปรอบ ๆ หน้าต่างด้วยเว็บเบราว์เซอร์ที่แสดงหน้าเว็บที่มี Javascript crap จำนวนมากสามารถส่งข้อความจำนวนมากสำหรับกระบวนการจำนวนมากซึ่งทั้งหมดนี้ทำให้กระบวนการเหล่านั้นตื่นขึ้นมาและสัมผัสกับข้อมูลจำนวนมาก สันนิษฐานว่ารวมถึงบิตแมป "แคช" ที่ไม่มีการบีบอัด ดังนั้นนี่จึงมีแนวโน้มที่จะขับไล่สิ่งต่าง ๆ ที่ต้องการเร็ว ๆ นี้

ctrl + alt + F2 เพื่อสลับไปยังคอนโซลเสมือนอื่นโดยทั่วไปจะทำให้สามารถเข้าสู่ระบบและเรียกใช้คำสั่งเชลล์ด้วยเวลาแฝงเพียงไม่กี่วินาทีเมื่อมีบางสิ่งที่ทำให้เกิดการสลับสับเปลี่ยน เป็นเพียงbash; เคอร์เนล Linux นั้นไม่สามารถทำการสลับเปลี่ยนได้และมันมีรหัส VT และ
คีย์บอร์ดทั้งหมด <-> รหัส TTY


เพื่อหลีกเลี่ยงการชะลอตัวเมื่อคุณไม่ได้เต้นแรงอย่างแท้จริงการลด "swappiness" สามารถช่วยได้ เช่นฉันตั้งค่า/proc/sys/vm/swappinesstunable เป็น6บนเดสก์ท็อปของฉันพร้อม RAM ขนาด 16GB และพาร์ทิชัน swap 2GB บน NVMe SSD คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการปรับแต่งสำหรับเวลาแฝงแบบโต้ตอบ (ตรงข้ามกับปริมาณงานเซิร์ฟเวอร์); คำแนะนำใด ๆ ที่จะกล่าวถึงพริ้งที่

แต่ถ้าคุณมีการแลกเปลี่ยนใด ๆ เลย Linux จะใช้มันก่อนที่จะเรียกใช้ OOM killer ทำให้พาร์ทิชัน swap ของคุณเล็กพอที่ลินุกซ์จะจัดการกับอึเก่าที่ปกติแล้วไม่ได้ใช้เป็นเวลานาน (เช่นหน่วยความจำรั่ว!)

ฉันไม่ได้มีปัญหาใด ๆ กับการสลับเต็ม Modern Linux เกี่ยวข้องกับการมีพื้นที่สว็อป จำกัด เพียงแค่ปรับ Chromium (ซึ่งฉันใช้แทน firefox) บางครั้งทำให้ช้าลงเมื่อเปิดแท็บ Stack Overflow หลายสิบครั้ง แต่The Great Suspenderเป็นส่วนเสริมที่ดีในการยกเลิกการโหลดแท็บเมื่อคุณไม่ได้ใช้งาน ฉันคิดว่านั่นช่วยประหยัด RAM อย่างมีนัยสำคัญสำหรับฉันแม้ว่าจะเพียงปลดแท็บที่คุณไม่ได้พิมพ์อะไรลงในกล่องข้อความเท่านั้น มันอาจจะพร้อมใช้งานสำหรับ Firefox


ตามที่คนอื่นแนะนำ, RAM ขนาด 16GB นั้นดีมากสำหรับการใช้งานแบบโต้ตอบกับ Linux ราคา DRAM ค่อนข้างต่ำในปัจจุบัน ; หลังจาก spiking ประมาณ 1.5 ปีที่แล้วพวกเขาส่วนใหญ่ปฏิเสธอีกครั้ง


คำตอบที่ดีขอบคุณมัด แต่เกี่ยวกับ "พวงของ Javascript crap สามารถทำให้เกิดข้อความจำนวนมากสำหรับกระบวนการหลายกระบวนการซึ่งทำให้กระบวนการเหล่านั้นตื่นขึ้นมาและสัมผัสกับข้อมูลมากมาย" - ฉันสงสัยว่ากระบวนการเหล่านี้คืออะไรพวกเขาเป็น Firefox กระบวนการลูก?
Kais

@Kais: ตัวจัดการหน้าต่างเว็บเบราว์เซอร์เซิร์ฟเวอร์ X อาจเป็นไคลเอนต์ X อื่น ๆ ในเดสก์ท็อปที่ซับซ้อนมากขึ้น และกระบวนการอื่น ๆ ที่หน้าต่างของคุณโบกมือไป (ซึ่งเป็นสิ่งที่ฉันคิดตอนที่ฉันเขียนประโยคนั้น) เช่นใน KDE ทาสก์บาร์เป็นกระบวนการแยกต่างหาก ( plasma) จากตัวkwinจัดการหน้าต่าง
Peter Cordes

ฉันใช้ LXDE ดังนั้นในกรณีของฉันเฉพาะ Openbox และเซิร์ฟเวอร์ XOrg เป็นกระบวนการที่ตื่นขึ้นมา? นอกจากนี้ข้อความประเภทใดที่ส่งผ่านไปถึงพวกเขา
Kais

@Kais: ข้อความโปรโตคอล X11 บนซ็อกเก็ต unix-domain ลองใช้xevบางครั้งเพื่อดูว่าคุณได้รับข้อความประเภทใดจากการเลื่อนเมาส์ ลองstrace xevดูการเรียกระบบที่เกี่ยวข้องกับฝั่งไคลเอ็นต์
Peter Cordes

ฉันเห็นขอบคุณ เมื่อเรียกใช้xevคำสั่งฉันได้รับข้อความเท่านั้นโดยสลับไปยังหน้าต่างอื่นและคลิกที่ข้อความเหล่านั้น แต่ไม่ใช่กรณีเมื่อฉันเพิ่งเลื่อนเมาส์
Kais

-2

สิ่งใดที่ทำให้ Linux ไม่ตอบสนองนานเป็นนาทีเมื่อเรียกดูบางเว็บไซต์

คุณไม่ได้ใช้งาน Linux อย่างถูกต้อง ซึ่งจะเห็นได้ชัดโดยเฉพาะอย่างยิ่งในเครื่องที่มีทรัพยากร จำกัด คุณไม่ต้องการหน่วยความจำเพิ่มหรือโปรเซสเซอร์ที่เร็วกว่า

พื้นหลัง:

Almost every non-user program’s priority is 0.
Almost every user program’s priority is 20.

หากต้องการ 'แก้ไขปัญหาของคุณ:

ออกจากโปรแกรมที่ไม่ใช่ผู้ใช้คนเดียว แต่เริ่มเปลี่ยนลำดับความสำคัญ (ระดับดี) ของโปรแกรมผู้ใช้ของคุณเพื่อไม่ให้เกิดปัญหากับคุณ แก้ไขสิ่งที่เปิดตัวโปรแกรมของคุณเพื่อให้มีระดับที่ดีโดยปกติจะไม่ใช่ปัญหาไปสู่ผู้กระทำผิดที่เลวร้ายที่สุด

ตัวอย่างโลกแห่งความจริง:

KMail:          nice -n 1 kmail -caption "%c" %i %m
LibreOffice:    nice -n 2 libreoffice --writer %U
Firefox:        nice -n 3 firefox %u
WorstOffender:  nice -n 9 {i'm a bad program}

WorstOffender ของคุณจะยังคงไม่ตอบสนองต่อนาทีนั่นเป็นปัญหาที่ซื้อกล่องที่ดีกว่า แต่ตอนนี้มันจะไม่ทำให้ทั้งระบบปฏิบัติการ (Linux) ของคุณและทุกอย่างที่คุณทำงานก็ไม่ตอบสนองเช่นกัน


2
ผมเคยทำงานมานานหลายทศวรรษกับ Linux ทั้งที่มีจำนวนของเซิร์ฟเวอร์และในข่ายของตัวเอง (มักจะอยู่ในการตั้งค่าการ จำกัด มาก VM) และมีไม่ได้ครั้งเดียวมีการแก้ไขปัญหาประสิทธิภาพการทำงาน RAM nice -nที่เกี่ยวข้องกับ "คุณไม่ต้องการ RAM เพิ่ม" แน่นอนว่าเขาต้องการ RAM มากกว่าเดิม หรืออาจใช้ulimitเพื่อ จำกัด ผู้กระทำผิดที่เลวร้ายที่สุดดังนั้น RAM ที่มีอยู่ของเขาก็เพียงพออีกครั้ง "คุณไม่ได้ใช้ Linux อย่างถูกต้อง" ปิดสนิท
AnoE

และฉันได้ทำงานกับ Linux GUI ติดตั้งบนฮาร์ดแวร์ จำกัด ทรัพยากรในช่วง 22 ปีที่ผ่านมาและ "ดี" ทำงานได้ดีเพื่อแก้ปัญหาการรักษา "Linux ไม่ตอบสนองต่อนาที"
Michael

ฉันไม่ปฏิเสธว่ามันใช้งานได้; ฉันแค่บอกว่าวางมันไว้เป็นวิธี "สิทธิ" ที่จะทำงานร่วมกับลินุกซ์อาจจะไม่ใช่สิ่งที่ดีที่สุด
AnoE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.