कुछ वेबसाइट ब्राउज़ करते समय मिनटों के लिए लिनक्स को अनुत्तरदायी क्या बना सकता है?


28

मैं लिनक्स 4.15 का उपयोग कर रहा हूं, और यह मेरे साथ कई बार होता है जब मैं Google, फेसबुक या किसी अन्य संसाधन-भूखे वेबसाइट को ब्राउज़ करता हूं - संपूर्ण ओएस अप्रतिसादी, स्थिर और बेकार हो जाता है। केवल एक चीज जिसे मैं काम करता हुआ देखता हूं वह है डिस्क (एक्सट्रीम 4 के रूप में स्वरूपित मुख्य सिस्टम विभाजन), जो बड़े पैमाने पर उपयोग में है (आई / ओ थ्रॉटलिंग)।

मैं ब्लोट से छुटकारा पाने के लिए एक मिनट या उससे अधिक समय तक इंतजार करने के लिए मजबूर हो जाता हूं, कभी-कभी यह बारह मिनट के लिए अनुत्तरदायी रहता है , और इसलिए मैं निराश हो जाता हूं। तथ्य यह है कि ओएस मल्टीटास्किंग को अच्छी तरह से संभालने में सक्षम नहीं है, बिल्कुल अजीब और अस्वीकार्य व्यवहार को दर्शाता है।

इतना ही नहीं Firefox के साथ होता है, लेकिन साथ किसी भी जावास्क्रिप्ट-दुभाषिया सहित आवेदन माइक्रोसॉफ्ट VSCode या कोणीय CLI ( ng serveकमांड) के साथ ही निष्पादन के किसी भी अन्य संसाधन के भूखे धागा - जैसे के मामले के रूप में plantuml जब एक से एक बहुत बड़ी ग्राफ पैदा करने बहुत जटिल यूएमएल आरेख।

आज, बाहरी HDD (ext4 पार्टीशन) के लिए डेटा रिकवरी सॉफ़्टवेयर लॉन्च करने के बाद OS पूरी तरह से अप्राप्य हो जाता है, जो हाल ही में एक ख़राब USB पोर्ट से थोड़ी सी चाल से अनप्लग हो गया।

मैं इस तरह के छोटे व्यवहार के पीछे मूल कारण नहीं बता पा रहा हूं

मेरे पास ब्राउज़र में कई टैब खुले हैं, और dfआउटपुट के अनुसार 94% OS-विभाजन का उपयोग है :

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. इंटेल कोर 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. 8 जीबी की रैम। ( htopनीचे उत्पादन देखें)।

  3. मेनबोर्ड बस की गति 99.93 मेगाहर्ट्ज
  4. 500 जीबी आंतरिक एचडीडी - यह ऑपरेटिंग सिस्टम से स्मार्ट रिपोर्ट है:

    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, ब्लोटवेयर को ओएस अप्रतिसादी नहीं बनाना चाहिए, इसलिए मैं इस बात पर विचार नहीं करूंगा कि ब्लोटवेयर समस्या का मूल कारण है - चूंकि ओएस जॉब प्रक्रियाओं को अलग कर रहा है और मल्टीटास्किंग सुनिश्चित कर रहा है।

मुझे नहीं पता कि यह समस्या ओएस-विशिष्ट, हार्डवेयर-विशिष्ट, या कॉन्फ़िगरेशन-विशिष्ट है।

कोई विचार?


4
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है । कृपया टिप्पणियों / चैट के परिणामस्वरूप किसी भी स्पष्टीकरण के लिए प्रश्न को अद्यतन करना सुनिश्चित करें। धन्यवाद!
जेफ स्कालर

3
मुझे संदेह है कि आपका सिस्टम बहुत स्वैप कर रहा है; vmstat 5जब आपका सिस्टम कार्य कर रहा हो तो क्या आप चला सकते हैं ? Vmstat को पहले से शुरू करना और फ्रीज़ के दौरान छपी पंक्तियों को पोस्ट करना ठीक है। मैं विशेष रूप से कॉलम siऔर soकॉलम की तलाश कर रहा हूं , जो यह दर्शाता है कि वास्तव में सिस्टम कितना स्वैप कर रहा है। इसके अलावा, क्या आप topमेमोरी उपयोग (शिफ्ट-एम) द्वारा सॉर्ट किए गए आउटपुट को पोस्ट कर सकते हैं ? (या जो भी समतुल्य htop मोड है)
marcelm

1
जब एक फाइल सिस्टम लगभग पूरा हो जाता है तो यह बहुत धीमा हो सकता है। मुझे यकीन नहीं है अगर यह ext4 के साथ मामला है।
कोई भी

1
@ कैस दोनों को आज़माएं और देखें कि क्या काम करता है? मेरा स्वैप, जो मैंने तैयार किया था, उसके आधे से अधिकतम पर भर जाता है और इससे मुझे कोई फ़्रीज़ नहीं होती। स्वैल्प के उपयोग से किसी को मंदी का अनुभव होता है या नहीं, यह भी मुझे लगता है कि उपयोग के पैटर्न पर निर्भर करता है, इसलिए हमारे अनुभव भिन्न हो सकते हैं।
JoL

2
पूरी तरह से स्वैप को अक्षम करने का प्रयास करें - जो समस्या के स्रोत के रूप में डिस्क थ्रैशिंग की पुष्टि या समाप्त करेगा। स्वैपिंग का उद्देश्य अप्रयुक्त पृष्ठों को डिस्क पर रखना है, लेकिन यदि अधिकांश पृष्ठ वास्तव में उपयोग में हैं, तो स्वैपिंग मदद नहीं करेगी। यदि आपके टिपिकल वर्कलोड में 10GB निवासी पृष्ठों की आवश्यकता है, तो एक 8GB मशीन संघर्ष करेगी। संसाधन थकावट का जवाब या तो काम का बोझ कम करना है या संसाधन को बढ़ाना है (इस मामले में, क्रोम का प्रयास करें या अधिक भौतिक मेमोरी जोड़ें)।
बैन

जवाबों:


27

क्या लिनक्स इतना अनुत्तरदायी बना सकता है?

उपलब्ध रैम को ओवरक्लॉमिट करना, जो बड़ी मात्रा में स्वैपिंग का कारण बनता है, निश्चित रूप से ऐसा कर सकता है। याद रखें कि आपके मैकेनिकल एचडीडी पर रैंडम एक्सेस I / O को रीड / राइट हेड को स्थानांतरित करने की आवश्यकता होती है, जो केवल 100 सेकंड प्रति सेकंड के आसपास कर सकता है।

लिनक्स के लिए यह पूरी तरह से दोपहर के भोजन के लिए बाहर जाने के लिए सामान्य है, यदि आप रैम को "बहुत अधिक" ओवरकम करते हैं। मेरे पास एक स्पिन डिस्क और 8 जीबी रैम भी है। मुझे स्मृति लीक के साथ सॉफ़्टवेयर के कुछ टुकड़ों की समस्या है। यानी उनका मेमोरी उपयोग समय के साथ बढ़ता रहता है और कभी सिकुड़ता नहीं है, इसलिए इसे नियंत्रित करने का एकमात्र तरीका सॉफ्टवेयर को रोकना और फिर इसे फिर से शुरू करना है। इस दौरान मेरे पास जो अनुभव थे, उनके आधार पर, मैं दस मिनट से अधिक की देरी को सुनकर आश्चर्यचकित नहीं हूं, अगर आप 3 जीबी + स्वैप का उत्पादन कर रहे हैं।

यह जरूरी नहीं कि आप उन सभी मामलों में देखेंगे जहां आपके पास 3GB से अधिक स्वैप है। थ्योरी कहती है कि प्रमुख अवधारणा जोर दे रही है । दूसरी ओर, यदि आप दो अलग-अलग काम करने वाले सेटों के बीच स्विच करने का प्रयास कर रहे हैं, और इसमें 100 एमबी पर 3 जीबी की अदला-बदली की आवश्यकता है, तो यह कम से कम 60 सेकंड लेगा, भले ही आई / ओ पैटर्न पूरी तरह से अनुकूलित हो। व्यवहार में, I / O पैटर्न इष्टतम से बहुत दूर होगा।

इसके बाद मुझे जो कठिनाई हुई, उसके बाद मैंने अपने स्वैप स्पेस को 2GB (पहले की तुलना में कई गुना छोटा) में सुधार दिया, इसलिए सिस्टम उतना गहरा स्वैप नहीं कर पाएगा। आप इसे विभाजन को गड़बड़ाने के बिना भी कर सकते हैं, क्योंकि mkswapएक वैकल्पिक आकार पैरामीटर लेता है।

किसी न किसी का संतुलन स्मृति से बाहर होने और प्रक्रियाओं के मारे जाने के बीच होता है, और सिस्टम के इतने लंबे समय तक लटके रहने से कि आप वैसे भी हार मान लेते हैं और रिबूट हो जाते हैं। मुझे नहीं पता कि 4GB स्वैप विभाजन बहुत बड़ा है; यह निर्भर हो सकता है कि आप क्या कर रहे हैं। महत्वपूर्ण बात यह है कि डिस्क को मंथन करना शुरू करने के लिए, अपने मेमोरी उपयोग की जांच करें और तदनुसार जवाब दें।

बहु-प्रक्रिया अनुप्रयोगों के मेमोरी उपयोग की जांच करना मुश्किल है। दोहरी-गणना साझा स्मृति के बिना प्रति प्रक्रिया स्मृति उपयोग देखने के लिए, आप उपयोग कर सकते हैं sudo atop -R, प्रेस Mऔर mPSIZE कॉलम में, और देखो। आप भी इस्तेमाल कर सकते हैं smemsmem -t -P firefoxआपके सभी फ़ायरफ़ॉक्स प्रक्रियाओं के PSS को दिखाएगा, जिसके बाद कुल PSS के साथ एक पंक्ति होगी। फ़ायरफ़ॉक्स या क्रोम आधारित ब्राउज़र के कुल मेमोरी उपयोग को मापने के लिए यह सही तरीका है। (हालांकि मेमोरी उपयोग दिखाने के लिए ब्राउज़र-विशिष्ट विशेषताएं भी हैं, जो व्यक्तिगत टैब दिखाएगा)।


1
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
जेफ स्कालर

ulimitप्रक्रियाओं के उपयोग को नियंत्रित करने के प्रयास के उपयोग पर विचार करने लायक हो सकता है (यह एक बहु-प्रक्रिया अनुप्रयोग के साथ मुश्किल है, लेकिन सहायक हो सकता है)।
टोबी स्पाईट

2
@TobySpeight यदि आप ऐप मेमोरी उपयोग को सीमित करना चाहते हैं तो आपको cgroups का उपयोग करने की आवश्यकता है। ulimitवास्तव में मदद नहीं करता है।
sourcejedi

हां, यह एक बेहतर विकल्प है। यह वास्तव में जवाब में उल्लेख के लायक है, वैसे भी।
टॉबी स्पाईट

2
The important thing is to watch out for when the disk starts churning, check your memory usage, and respond accordingly.<- या, यदि आप एक GUI का उपयोग करते हैं, तो एक कॉन्ट्राब बनाएं जो एक साधारण स्क्रिप्ट (हर मिनट या तो) चलाता है जो यह जांचता है कि आपके पास कितनी मुक्त रैम है, जो आपको इसके बारे में चेतावनी देती है। मैंने लिनक्स मिंट के लिए अपना खुद का बनाया, और मैंने इससे काफी कुछ सीखा। यह कुछ ऐसा है जिसे आप कोशिश कर सकते हैं और साथ खेल सकते हैं।
इस्माइल मिगेल

5

AFAIK, ब्लोटवेयर OS को अनुत्तरदायी नहीं बनाना चाहिए, इसलिए मैं इस बात पर विचार नहीं करूंगा कि ब्लोटवेयर समस्या का मूल कारण है

आप इस तरह के लिए नहीं जा रहे हैं, लेकिन मुझे लगता है कि bloatware है आपकी समस्या (हालांकि मुझे यकीन है कि नहीं कर रहा हूँ अगर यह की स्मृति या डिस्क जो समस्या है)। दुर्भाग्य से, लिनक्स कर्नेल उच्च मेमोरी दबाव स्थितियों को संभालने में भयानक है, और एक बार मेमोरी समाप्त हो जाने पर मूल रूप से रिबूट की आवश्यकता होती है। तीन चीजें हैं जो मुझे विश्वास दिलाती हैं कि आपका मुद्दा संसाधन थकावट है:

  1. रूट (/) और DATA पर आपकी डिस्क स्पेस लगभग भरी हुई है। मुझे यकीन नहीं है कि आप डेटा का उपयोग किस लिए करते हैं, लेकिन मैं अपने रूट विभाजन को छोटा करने के साथ मुद्दों में भाग गया हूं और मेरा सिस्टम निष्क्रिय हो रहा है।
  2. आपके पास उच्च-मेमोरी दबाव है, जिसका अर्थ है कि आपकी रैम लगभग पूर्ण है। जब RAM पूर्ण होने लगेगी तो आपको पृष्ठ दोष मिलने लगेंगे। पृष्ठ दोष तब होते हैं जब कर्नेल किसी प्रक्रिया के लिए पर्याप्त मेमोरी आवंटित करने में असमर्थ होता है और इसके बजाय सिस्टम के कुछ बहुत धीमी गति से स्वैप स्थान का उपयोग करना चाहिए। यह हमें हमारे अंतिम अवलोकन की ओर ले जाता है:
  3. आपका स्वैप स्थान लगभग भर चुका है। आपके सिस्टम पर स्पष्ट रूप से कुछ उच्च मेमोरी दबाव है क्योंकि रैम और स्वैप दोनों लगभग भरे हुए हैं।

मूल रूप से, इन तीनों को एक साथ रखें और आपके सिस्टम में कुछ भी करने के लिए पर्याप्त संसाधन उपलब्ध नहीं हैं। जैसा कि यह दुर्भाग्यपूर्ण है कि कैसे खराब लिनक्स कम-मेमोरी स्थितियों (विंडोज में, एनटी कर्नेल की तुलना में) को संभालता है, लेकिन लगता है कि यह कैसा है। आप इस Reddit थ्रेड और इसकी लिंक की गई मेलिंग सूची में अधिक चर्चा पा सकते हैं ।

आपकी स्थिति को कैसे ठीक किया जाए, मैं कहूंगा कि आपके स्वैप का आकार बढ़ाना एक अच्छा विचार है, लेकिन चूंकि आप डिस्क स्थान पर कम हैं जो एक समस्या होगी। जब तक आपके Minecraft सर्वर में एक टन लोग नहीं होते, मुझे लगता है कि इसकी स्मृति को 1024m के आसपास कुछ कम करना सुरक्षित होगा (मैं व्यक्तिगत रूप से लगभग 10 लोगों के साथ 1024m का उपयोग करता हूं और यह ठीक काम करता है)। मैं आपके Minecraft सर्वर के लिए स्पिगोट या पेपर का भी उपयोग करूंगा क्योंकि वे अधिक प्रदर्शन करते हैं।

सौभाग्य!


7
यह स्पष्ट रूप से स्मृति है कि समस्या है, डिस्क नहीं। यह सच है कि उच्च स्मृति दबाव में लिनक्स खराब है। लेकिन यह सच नहीं है कि रिबूट की आवश्यकता है। यदि आप कुछ मेमोरी को खाली करने का प्रबंधन करते हैं, तो लिनक्स उतना ही प्रतिक्रियाशील हो जाएगा जितना कि मेमोरी दबाव उपलब्ध क्षमता से अधिक होने से पहले था।
गिल्स एसओ- बुराई को रोकना '

1
@ क्या मैंने कहा कि "यह हमें हमारे अंतिम अवलोकन की ओर ले जाता है" एक सेग के रूप में क्योंकि मैं स्वैप स्पेस के बारे में बात कर रहा था और इसके बारे में बात करना जारी रखूंगा। 3. Minecraft के बारे में, ऐसा लग रहा था कि आप एक Minecraft सर्वर चला रहे थे, और आवंटित किया था इसमें 3 जी रैम है। मैं सिर्फ यह कह रहा था कि जब तक आपके पास एक टन के लोग एक ही समय पर नहीं खेलेंगे, तब तक आपको उतनी रैम की जरूरत नहीं होगी। मैंने कहा कि "वे पेपर और स्पिगोट के बारे में बात करते हैं, तो वे अधिक प्रदर्शन करते हैं", जो वैकल्पिक Minecraft सर्वर हैं जो वेनिला एमसी पर बेहतर प्रदर्शन करते हैं।
पीछा करें

2
मैंने सुना है कि आम तौर पर स्वैप का उपयोग करना एक बुरा विचार है? सर्वर वातावरण में कम से कम, जब 12 मिनट के लिए ठंड स्वीकार्य नहीं है?
9ilsdx 9rvj 0lo

2
@ कैस, मेरे अनुभव में, गैर-जीयूआई कार्यक्रमों के साथ विंडोज और भी बदतर है, लेकिन यह गैर-फोरग्राउंड जीयूआई कार्यक्रमों को निलंबित कर देगा यदि मेमोरी का दबाव अधिक है, जो डेस्कटॉप के लिए समस्या को हल करता है, इस धारणा के तहत कि डेस्कटॉप एप्लिकेशन पृष्ठभूमि नहीं हैं कार्य।
साइमन रिक्टर

2
वेनिला माइनक्राफ्ट शायद; लेकिन बड़े मॉडपैक आसानी से 3 गीब को मिलते हैं, इससे पहले कि एक खिलाड़ी भी इसमें शामिल हो जाता है :)
लुआं

4

का आउटपुट क्या है free -m? अगर आपके पास कितना उपयोग हो रहा है, यह नहीं पता है तो आपके पास राम की मात्रा व्यर्थ है। यह और मुझे यह जानने में दिलचस्पी है कि स्वैप स्पेस का कितना उपयोग किया जा रहा है।

मुझे लगता है कि आपने अपने प्रश्न का उत्तर दिया है, हालांकि। आपके ब्राउज़र में "बहुत सारे टैब" खुले होने से निश्चित रूप से आपके सिस्टम को धीमा हो सकता है यदि आप उन्हें कभी बंद नहीं कर रहे हैं, क्योंकि वे स्मृति की परवाह किए बिना उपभोग करना जारी रखेंगे; जब आपका सिस्टम जम जाता है, तो आपके पास एक समय में कितने खुले होते हैं?

यह भी समझ में आता है कि क्या आपका सिस्टम अन्य मेमोरी-इंटेंसिव कार्यों जैसे "बहुत जटिल यूएमएल आरेख से एक बहुत बड़ा ग्राफ उत्पन्न करना" से मुक्त हो रहा है। यह आपके सिस्टम को बिल्कुल धीमा कर देगा, क्योंकि यह ग्राफ़ बनाता है, इसलिए शायद ही कोई आश्चर्य हो।

यह वास्तव में ऐसा लगता है कि यह आपके सिस्टम के व्यवहार का तरीका है। या तो वह या मैं यहाँ कुछ याद कर रहा हूँ।

वैसे, जब आपके सिस्टम की बात आती है तो HDD आँकड़े कोई फर्क नहीं पड़ता क्योंकि स्मृति की कमी लगभग हमेशा अपराधी है।


1
"यह आपके सिस्टम को बिल्कुल धीमा कर देगा" - हाँ यह अपेक्षित है, लेकिन एक बेकाबू एक्स सत्र के कारण अपेक्षित नहीं है (अर्थात फ्रीज़ किए गए सिस्टम का परिणाम), जहां मैं माउस कर्सर को नहीं देख सकता।
कैस

1
वास्तव में यह उम्मीद की जाती है कि आप जिस व्यवहार का वर्णन कर रहे हैं वह वास्तव में तब होता है जब मैं अपने सिस्टम पर बहुत अधिक रैम का उपयोग करता हूं। मैं भी अपने सिस्टम को इस बिंदु पर रोक दिया है कि मैं एक पाठ-आधारित टर्मिनल पर स्विच नहीं कर सका, और मुझे आपके अनुसार डबल RAM मिल गई है। यदि आप कभी भी उस प्रकार की स्थिति में भाग लेते हैं जहाँ आप अपने X सत्र का उपयोग नहीं कर सकते हैं तो आपने पाठ-आधारित टर्मिनल पर स्विच कर लिया है और आपत्तिजनक प्रक्रियाओं को मार सकते हैं। यदि वह विफल रहता है, तो आपको एक कठिन रिबूट करना होगा। सबसे अच्छा लेकिन मैं आपको बता सकता हूं।
Zach Sanchez

1
@ कैस मैकोस कम मेमोरी स्थितियों में भी सुस्त हो जाता है। सिस्टम के लिए वास्तव में समझदारी से यह तय करने का कोई तरीका नहीं है कि इसे रैम में रखने के लिए किस मेमोरी की आवश्यकता है, इसलिए अनुप्रयोगों के बीच स्विच करने से पागल की तरह स्वैप हो जाएगा, उस बिंदु पर जहां यूआई अनुत्तरदायी हो जाता है।
कुसलानंद

5
एह, ऐसा नहीं है कि "विंडो मैनेजर" यूआई को उत्तरदायी बनाए रखने के लिए अधिक प्रभावी तरीके नहीं हैं। एमएस अनुसंधान ने डिजाइन पर एक संपूर्ण प्रायोगिक ओएस लिखा, जिसने मांग-पृष्ठिंग को निषिद्ध कर दिया। अवधारणा का प्रमाण: मिडोरी में "विंडो मैनेजर" चलाएं, स्वैप सहित लिनक्स ऐप्स का अनुकरण करें। वहां आप जाते हैं, "विंडो मैनेजर" एप्स स्वैप करने के बावजूद भी रिस्पॉन्सिव रहेगा। कम से कम, यह आपको मेमोरी रिलीज़ करने के लिए कुछ ऐप को मज़बूती से मारने दे सकता है। लिनक्स सही नहीं है। X11 से वेलैंड में जाने पर गनोम स्विचिंग ने इसे ओवरलोड सिस्टम पर काफी खराब प्रतिक्रियात्मकता बना दिया।
sourcejedi

2
HDD आँकड़े मायने रख सकते हैं। अनुत्तरदायीता का एक संभावित कारण एक असफल डिस्क है, जो एक विशाल I / O बैकलॉग का कारण बनता है। लेकिन मुझे इस मामले में ऐसा होने का कोई सबूत नहीं दिख रहा है।
200_सेक् स

4

जब मैंने शीर्षक पढ़ा तो मेरा तात्कालिक विचार "पर्याप्त रैम नहीं था", क्योंकि मैंने लिनक्स पर स्वयं इस समस्या का अनुभव किया है, बहुत सारे ब्राउज़र टैब खोलने के बाद 10+ मिनट की उन्मत्त डिस्क थ्रैशिंग। मैं सहमत हूं, यह निराशाजनक है, और इसमें सुधार की जरूरत है। विंडोज इस स्थिति को काफी बेहतर तरीके से हैंडल करता है।

कुछ सुझाव:

  • अपने सिस्टम ट्रे में एक मेमोरी मॉनिटर एप्लेट जोड़ें ताकि आप उस पर नज़र रख सकें।
  • फ़ायरफ़ॉक्स की प्राथमिकताओं में, "सामग्री प्रक्रिया सीमा" को "1" पर सेट करें। जैसा कि सेटिंग के नीचे का पाठ कहता है: "अतिरिक्त सामग्री प्रक्रिया कई टैब का उपयोग करते समय प्रदर्शन में सुधार कर सकती है, लेकिन अधिक मेमोरी का भी उपयोग करेगी।"
  • किसी भी मेमोरी-भूखे ब्राउज़र एडोनों को निकालें या बदलें। अपने विज्ञापन अवरोधक को रखें, क्योंकि विज्ञापन किसी भी अवरोधक की तुलना में अधिक मेमोरी खाते हैं।
  • जांच करें और संभवतः किसी अन्य मेमोरी-भूखे कार्यक्रमों को हटा दें।

हालांकि, एकमात्र सही समाधान अधिक रैम खरीदना है।

न केवल बहुतायत रैम इस तबाही को होने से रोकेगा, बल्कि यह सिस्टम को रैम में एक बड़ी फ़ाइल कैश बनाने की अनुमति देगा, जो कि आपका सिस्टम वर्तमान में कभी नहीं कर सकता क्योंकि यह सीमा के इतने करीब चलता है। एक बड़ी फ़ाइल कैश एचडीडी से दूर काम करेगी और सिस्टम पर लगभग हर कार्रवाई को सामान्य रूप से तेज महसूस करेगी। यह इसके लायक है।


शानदार जवाब, बहुत बहुत धन्यवाद। लेकिन "अतिरिक्त सामग्री प्रक्रियाओं से कई टैब का उपयोग करते समय प्रदर्शन में सुधार हो सकता है, लेकिन अधिक मेमोरी का उपयोग भी करेगा।" - अगर मैं सही ढंग से समझूं, तो क्या फ़ायरफ़ॉक्स डिफ़ॉल्ट रूप से प्रति टैब 8 प्रक्रियाओं को खोलने में सक्षम है?
कैस

1
@ मुझे लगता है कि यह प्रति टैब 1 प्रक्रिया है। किसी भी स्थिति में, यदि आप 1 की सीमा निर्धारित करते हैं, तो यह सभी टैब के लिए कुल 1 प्रक्रिया होगी, जिसमें कम मेमोरी का उपयोग करना चाहिए।
Boann

समझ गए, फिर से धन्यवाद।
कैस

4

आपके htop आउटपुट से पता चलता है कि RAM की आपकी आवश्यकता इसकी क्षमता (कुल RAM + SWAP) से अधिक है। तो स्पष्ट रूप से बनाने के लिए पहला ध्यान रैम उपयोग को कम करना या रैम की उपलब्धता को बढ़ाना है।

ध्यान दें कि आधुनिक-दिन के फ़ायरफ़ॉक्स संस्करण बेहद संसाधन-भूखे हैं, जिस तरह से खिड़कियों / टैब को प्रक्रिया और मेमोरी स्पेस दिया जाता है। यह विचार था कि दुर्घटनाग्रस्त टैब से बचने के लिए पूरे ब्राउज़र को घुटनों तक लाया जाए। यह कीमत के लायक है? कौन बता सकता है ... वैसे भी, मुझे उपरोक्त के कारण एक समान समस्या थी, क्योंकि मेरा पेंटियम 4 मेनबोर्ड केवल 2 जीबी रैम का समर्थन करता है। संभावित रूप से समाप्त होने वाली दुर्घटनाओं से बचने के लिए, मैंने एक अतिरिक्त SSD पर ~ 800M स्वैप स्थान जोड़ा, जाहिर है कि इसे यथासंभव कम उपयोग करने के इरादे से। मैंने स्वप्नदोष के रूप में ज्ञात एक सेटिंग को बदलकर हासिल किया है, जो यह निर्धारित करता है कि मेमोरी पेजों को स्वैप करने के लिए कर्नेल कितना उत्सुक है। कुछ उपयोगी आदेश निम्नानुसार हैं।

वर्तमान स्वपन की जाँच करें: cat /proc/sys/vm/swappiness

यह अच्छी तरह से आपको लगभग 60 का परिणाम दे सकता है, जो कि कम लोड वाले सिस्टम पर अधिकतम प्रदर्शन के लिए काफी अधिक है। आपके लिए, स्पष्ट रूप से यह काउंटर-उत्पादक काम करता है, इसलिए आप sysctl vm.swappiness=1सिस्टम का उपयोग करते हुए सेटिंग को बदलने के लिए सेटिंग बदल सकते हैं ।

इन परिवर्तनों को सहेजने के लिए, आपको फ़ाइल ढूंढनी होगी /etc/sysctl.conf। उस फ़ाइल में, मान बदलें या पंक्ति जोड़ें vm.swappiness=1

मन, यह आपके मामले में एक समाधान नहीं है, लेकिन एक उपयोगी समाधान करना चाहिए।

क्रेडिट्स /ubuntu/103915/how-do-i-configure-swappiness

उत्तर के लिए स्रोत, आगे स्पष्टीकरण शामिल है। मैंने अपने मामले में उस पोस्ट को बहुत मददगार पाया।


आपके प्रतिक्रिया के लिए धन्येवाद। यह VM कॉन्फ़िगरेशन के लिए एक अच्छा सुझाव है।
कैस

2

समस्या कैसे होती है, जारी रहती है और बढ़ती है, इसकी कुछ उत्कृष्ट चर्चा। मैं समस्याओं से आगे बढ़ना पसंद करता हूं जैसे कि आप प्रारंभिक कंप्यूटर के डिजाइन पर हार्डवेयर फेंकने और / या मौजूदा कार्यान्वयन को अपग्रेड करके अनुभव करते हैं। क्या आप,

  • RAM जोड़ें (32GB कई सेटअप के लिए बढ़िया काम करता है)

  • अपनी हार्ड डिस्क ड्राइव को SSD से बदलें

  • स्वैप ड्राइव के लिए SSD (सॉलिड स्टेट ड्राइव) जोड़ें

  • RAM में स्वैप विभाजन बनाएं (32 या अधिक GB RAM के साथ)

  • एक तेज HDD प्राप्त करें

  • तेजी से प्रसंस्करण और व्यापक / तेज बस वास्तुकला के साथ एक प्रणाली के लिए कदम।

इनमें से कुछ हार्डवेयर अपग्रेड / रिप्लेसमेंट $ 100US के तहत अच्छी तरह से हो सकते हैं। ये न तो विशिष्ट लिनक्स हैं, न ही आपके सटीक सॉफ्टवेयर कार्यान्वयन, लेकिन आप जिस हार्डवेयर का उपयोग कर रहे हैं, वह आपके कार्यों के लिए पर्याप्त नहीं है।


1
बहुत उपयोगी उत्तर, हार्डवेयर प्रतिस्थापन सिफारिशों को इंगित करने के लिए धन्यवाद।
कैस

1
मुझे आशा है कि यह मदद करता है। पता नहीं कि किस प्रकार का कंप्यूटर या विशिष्ट उपकरण हैं, इसलिए ये सामान्य सुधार के क्रम में सामान्य कदम हैं। कोई भी या सभी आपके विशिष्ट स्लोडाउन को बाहर निकालने में मदद करेंगे, जो कि कैश, स्वैप और तेज और कम डिस्क के थ्रेशिंग के कारण होने की संभावना है / सामान्य रूप से पढ़ता / लिखता है
ओल्ड अंकल हो

6
उनमें से ज्यादातर अच्छे सुझाव हैं, लेकिन रैम की अदला - बदली मूल रूप से बेकार है जब तक कि आप रैम या संपीडन के लिए zswap का उपयोग RAM में नहीं कर रहे हैं - वे सार्थक हैं, लेकिन एक असम्पीडित रैमडिस्क को स्वैप करने से वास्तव में केवल उतना ही RAM दबाव बनता है जितना कि इससे छुटकारा मिलता है () वास्तव में, बहुत अधिक अधिक उपरि के कारण)।
कैस

मुझे यकीन नहीं है कि रैम को कोई भी क्यों स्वैप करेगा, सिवाय इसके कि जब उच्च-रैम / कम-सीपीयू वर्कलोड पर एक महान विचार जैसा लगता है, तो संपीड़ित करें।
पीटर -

1
@bain: यह कैसे किया जाता है कभी बेहतर रैम बनाम करने के लिए बदली पृष्ठों अभी भी मैप किया गया? जब तक आप कम्प्रेशन का उपयोग नहीं करते, वे अभी भी भौतिक RAM के कई पृष्ठों का उपयोग कर रहे हैं। यहीं मूल्य है। एकमात्र अंतर अधिक बहीखाता पद्धति है, लेकिन शायद क्लीनर हार्डवेयर पेज टेबल। स्टार्टअप-केवल मेमोरी के लिए जो मूल रूप से अनमैप करने के लिए उपेक्षा करता है, उदाहरण के लिए फ़ंक्शन / डेटा जो केवल स्टार्टअप के दौरान स्पर्श किए जाते हैं, डिस्क से स्वैप बेहतर है क्योंकि यह किसी भी DRAM स्थान का उपभोग नहीं करता है। पृष्ठभूमि डेमॉन के लिए जो अंतःक्रियात्मक रूप से उपयोग नहीं किए जाते हैं, विलंबता महत्वपूर्ण नहीं है ताकि डिस्क स्वैप जीत हो।
पीटर कॉर्ड्स

2

आमतौर पर यह "सिर्फ" X11 है जो अनुपयोगी हो जाता है। अपने कीबोर्ड से एक प्रोग्राम में कीस्ट्रोक प्राप्त करने के लिए, और स्क्रीन पर कुछ भी दिखाने के लिए, कई अलग-अलग प्रक्रियाओं में कोड चलाना पड़ता है। (एक्स सर्वर कर्नेल से कर्नेल, एक्सटरम या समतुल्य घटना को प्राप्त करने और कुछ आकर्षित करने का निर्णय लेने के लिए, फिर एक फ़ॉन्ट से ग्लिफ़ खींचने के लिए एक्स सर्वर को संदेश भेजें।)

बस अपने माउस को एक वेब ब्राउज़र के साथ एक खिड़की पर चारों ओर लहराते हुए जावास्क्रिप्ट क्रैप के एक पृष्ठ के साथ एक पृष्ठ दिखाई देता है, जिसके परिणामस्वरूप प्रक्रियाओं के एक समूह के लिए संदेशों का एक गुच्छा हो सकता है, जो सभी उन प्रक्रियाओं को जागने और डेटा का एक गुच्छा छूने का कारण बनते हैं। संभवतः "कैश्ड" का एक गुच्छा जिसमें असम्पीडित बिटमैप शामिल हैं। तो यह बहुत अधिक चीजें हैं जो जल्द ही जरूरत है बेदखल करने की संभावना है।

ctrl + alt + F2 दूसरे वर्चुअल कंसोल पर स्विच करने के लिए आमतौर पर शेल कमांड को केवल एक दो सेकंड लेटेंसी के साथ लॉग इन और रन करना संभव बनाता है जब कुछ स्वैप स्वैपिंग का कारण बन रहा हो। यह बस है bash; लिनक्स कर्नेल स्वैपेबल नहीं है और इसमें सभी VT और
कीबोर्ड <-> TTY कोड हैं।


मंदी से बचने के लिए जब आप वास्तव में जोर नहीं दे रहे हैं, तो "स्वैगनेस" को कम करने से मदद मिल सकती है। उदाहरण के लिए मैंने अपने डेस्कटॉप पर 16GB RAM और NVMe SSD पर 2GB स्वैप विभाजन के साथ /proc/sys/vm/swappinessट्यून करने योग्य सेट किया 6। आप इंटरेक्टिव लेटेंसी (जैसे सर्वर थ्रूपुट के विपरीत) के लिए ट्यूनिंग के बारे में अधिक पढ़ सकते हैं; किसी भी गाइड का उल्लेख उस ट्यून करने योग्य होगा।

लेकिन अगर आपके पास कोई स्वैप है, तो ओओएम हत्यारा को लागू करने से पहले लिनक्स इसका उपयोग करेगा। अपने स्वैप विभाजन को छोटा रखें , लिनक्स के लिए बस इतना बड़ा कि वास्तव में बासी बकवास को पेज आउट करने के लिए पर्याप्त है जो आमतौर पर लंबे समय तक उपयोग नहीं होता है। (जैसे स्मृति लीक!)

मुझे स्वैप की कोई समस्या नहीं है। आधुनिक लिनक्स सीमित स्वैप स्थान के साथ ठीक काम करता है। क्रोमियम (जो मैं फ़ायरफ़ॉक्स के बजाय उपयोग करता हूं) कभी-कभी दर्जनों स्टैक ओवरफ़्लो टैब के खुले होने के साथ धीमा हो जाता है, लेकिन जब आप उनका उपयोग नहीं कर रहे हैं तो द ग्रेट सस्पेंडर, अनलोडिंग टैब के लिए एक अच्छा ऐडऑन है। मुझे लगता है कि मेरे लिए महत्वपूर्ण रैम बचाता है, हालांकि यह केवल टैब को अनलोड करेगा जहां आपने टेक्स्टबॉक्स में कुछ भी टाइप नहीं किया है। यह फ़ायरफ़ॉक्स के लिए भी उपलब्ध हो सकता है।


जैसा कि अन्य ने सुझाव दिया है, लिनक्स के साथ इंटरैक्टिव उपयोग के लिए 16 जीबी रैम वास्तव में अच्छा है। घूंट की कीमतें वर्तमान में अपेक्षाकृत कम हैं ; लगभग 1.5 साल पहले घूमने के बाद, उन्होंने ज्यादातर फिर से गिरावट की।


महान जवाब, एक गुच्छा धन्यवाद। लेकिन "जावास्क्रिप्ट क्रैप का एक गुच्छा, प्रक्रियाओं के एक समूह के लिए संदेशों का एक गुच्छा हो सकता है, जिसके कारण वे सभी प्रक्रियाएं जागने और डेटा का एक गुच्छा छूने का कारण बनती हैं" - मैं सोच रहा हूं कि ये प्रक्रियाएं क्या हैं, क्या वे फ़ायरफ़ॉक्स हैं बच्चे की प्रक्रिया?
कैस

@ कैस: विंडो मैनेजर, वेब ब्राउजर, एक्स सर्वर, संभवतः अधिक जटिल डेस्कटॉप में विभिन्न अन्य एक्स क्लाइंट। और किसी भी अन्य प्रक्रियाएं जिनकी खिड़कियां आपके माउस की तरंगों पर हैं (जो कि मैं उस वाक्य को लिखते समय सोच रहा था)। केडीई में, टास्कबार विंडो मैनेजर plasmaसे एक अलग प्रक्रिया ( ) है kwin
पीटर कॉर्ड्स

मैं एलएक्सडीई का उपयोग करता हूं, इसलिए मेरे मामले में केवल ओपनबॉक्स और एक्सओआरजी सर्वर वे प्रक्रियाएं हैं जो जागने के लिए मिलती हैं? इसके अलावा, उन्हें किस तरह के संदेश दिए जाते हैं?
कैस

@ कैस: एक्स 11 प्रोटोकॉल संदेश एक यूनिक्स-डोमेन सॉकेट पर। xevमाउस को हिलाने से आपको किस तरह के संदेश मिल सकते हैं, यह देखने के लिए कभी-कभी दौड़ने की कोशिश करें। strace xevक्लाइंट पक्ष के लिए शामिल सिस्टम कॉल को देखने का भी प्रयास करें।
पीटर कॉर्डेस

मैं देखता हूं, धन्यवाद। xevकमांड को चलाने के दौरान , मुझे केवल अलग-अलग विंडो पर स्विच करने और उन पर क्लिक करने से संदेश मिले हैं, लेकिन जब मैं सिर्फ माउस से आगे बढ़ता हूं तो ऐसा नहीं होता।
कैस

-2

कुछ वेबसाइट ब्राउज़ करते समय मिनटों के लिए लिनक्स को अनुत्तरदायी क्या बना सकता है?

आप लिनक्स का सही उपयोग नहीं कर रहे हैं। जो संसाधन सीमित मशीन पर विशेष रूप से ध्यान देने योग्य हो जाता है। आपको अधिक RAM की आवश्यकता नहीं है, न ही तेज़ प्रोसेसर की।

पृष्ठभूमि:

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 अभी भी मिनटों के लिए अनुत्तरदायी बन जाएगा, जो कि शाब्दिक रूप से एक बेहतर बॉक्स समस्या है, लेकिन अब यह आपके पूरे OS (Linux) और आपके द्वारा चलाए जा रहे सभी चीज़ों के कारण भी अनुत्तरदायी नहीं बनेगा।


2
मैंने कई सारे सर्वरों के साथ और अपने स्वयं के वर्कस्टेशन पर (अक्सर बहुत सीमित वीएम सेटअप में) लिनक्स के साथ दशकों तक काम किया है, और एक बार रैम-संबंधित प्रदर्शन समस्या को ठीक नहीं करना पड़ा है nice -n। "आपको अधिक रैम की आवश्यकता नहीं है" - उसे निश्चित रूप से अधिक रैम की आवश्यकता है; या ulimitसबसे खराब अपराधियों को कठोर सीमा तक उपयोग कर सकता है ताकि उसकी मौजूदा रैम फिर से पर्याप्त हो। "आप लिनक्स का सही उपयोग नहीं कर रहे हैं।" पूरी तरह से बंद है।
AnoE

और मैंने पिछले 22 वर्षों से संसाधन सीमित हार्डवेयर पर लिनक्स जीयूआई इंस्टॉल के साथ काम किया है और "अच्छा" आईएनजी मिनटों के लिए "लिनक्स अनुत्तरदायी" को हल करने के लिए काम करता है।
माइकल

मैं इनकार नहीं करता कि यह काम करता है; मैं सिर्फ यह कह रहा हूं कि इसे लिनक्स के साथ काम करने के "सही" तरीके के रूप में सामने रखना सबसे अच्छी बात नहीं हो सकती है।
AnoE
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.