XFS, 20 डिस्क और सीफ़एच के साथ "बड़े" सर्वर पर पृष्ठ विखंडन का कारण


18

लिनक्स IO प्रणाली में अनुभव के किसी के साथ किसी भी अंतर्दृष्टि मददगार होगी। यहाँ मेरी कहानी है:

हाल ही में सेफ के माध्यम से फाइलों को परोसने के लिए छह डेल पॉवरएडज rx720xds का क्लस्टर लाया। इन मशीनों में दो सुरा ज़ोन और मेमोरी के 70 विषम गीगाबाइट के साथ दो सॉकेट्स पर 24 कोर हैं। डिस्क को एक डिस्क की छापे के रूप में स्वरूपित किया जाता है (हम उन्हें सीधे अन्यथा उजागर करने का एक तरीका नहीं देख सकते थे)। नेटवर्किंग mellanox infiniband IP पर IB द्वारा प्रदान की जाती है (IP पैकेट कर्नेल भूमि में IB में बदल जाते हैं, हार्डवेयर नहीं)।

हमारे पास हमारे प्रत्येक एसएएस ड्राइव जैसे मुहिम शुरू की गई है:

# cat /proc/mounts | grep osd
/dev/sdm1 /var/lib/ceph/osd/ceph-90 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdj1 /var/lib/ceph/osd/ceph-87 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdu1 /var/lib/ceph/osd/ceph-99 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdd1 /var/lib/ceph/osd/ceph-82 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdk1 /var/lib/ceph/osd/ceph-88 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdl1 /var/lib/ceph/osd/ceph-89 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdh1 /var/lib/ceph/osd/ceph-86 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdo1 /var/lib/ceph/osd/ceph-97 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdc1 /var/lib/ceph/osd/ceph-81 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdb1 /var/lib/ceph/osd/ceph-80 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sds1 /var/lib/ceph/osd/ceph-98 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdn1 /var/lib/ceph/osd/ceph-91 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sde1 /var/lib/ceph/osd/ceph-83 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdq1 /var/lib/ceph/osd/ceph-93 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdg1 /var/lib/ceph/osd/ceph-85 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdt1 /var/lib/ceph/osd/ceph-95 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdf1 /var/lib/ceph/osd/ceph-84 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdr1 /var/lib/ceph/osd/ceph-94 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdi1 /var/lib/ceph/osd/ceph-96 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdp1 /var/lib/ceph/osd/ceph-92 xfs rw,noatime,attr2,inode64,noquota 0 0

इन मशीनों से गुज़रने वाला IO कुछ सौ एमबी / एस पर फट जाता है, लेकिन अधिकांश समय बहुत कम 'पॉक्स' के साथ बहुत ही बेकार होता है:

# iostat -x -m
Linux 3.10.0-123.el7.x86_64 (xxx)   07/11/14    _x86_64_    (24 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
       1.82    0.00    1.05    0.11    0.00   97.02
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.11    0.25    0.23     0.00     0.00    27.00     0.00    2.07    3.84    0.12   0.61   0.03
sdb               0.02     0.57    3.49    2.28     0.08     0.14    77.18     0.01    2.27    2.99    1.18   1.75   1.01
sdd               0.03     0.65    3.93    3.39     0.10     0.16    70.39     0.01    1.97    2.99    0.79   1.57   1.15
sdc               0.03     0.60    3.76    2.86     0.09     0.13    65.57     0.01    2.10    3.02    0.88   1.68   1.11
sdf               0.03     0.63    4.19    2.96     0.10     0.15    73.51     0.02    2.16    3.03    0.94   1.73   1.24
sdg               0.03     0.62    3.93    3.01     0.09     0.15    70.44     0.01    2.06    3.01    0.81   1.66   1.15
sde               0.03     0.56    4.35    2.61     0.10     0.14    69.53     0.02    2.26    3.00    1.02   1.82   1.26
sdj               0.02     0.73    3.67    4.74     0.10     0.37   116.06     0.02    1.84    3.01    0.93   1.31   1.10
sdh               0.03     0.62    4.31    3.04     0.10     0.15    67.83     0.02    2.15    3.04    0.89   1.75   1.29
sdi               0.02     0.59    3.82    2.47     0.09     0.13    74.35     0.01    2.20    2.96    1.03   1.76   1.10
sdl               0.03     0.59    4.75    2.46     0.11     0.14    70.19     0.02    2.33    3.02    1.00   1.93   1.39
sdk               0.02     0.57    3.66    2.41     0.09     0.13    73.57     0.01    2.20    3.00    0.97   1.76   1.07
sdm               0.03     0.66    4.03    3.17     0.09     0.14    66.13     0.01    2.02    3.00    0.78   1.64   1.18
sdn               0.03     0.62    4.70    3.00     0.11     0.16    71.63     0.02    2.25    3.01    1.05   1.79   1.38
sdo               0.02     0.62    3.75    2.48     0.10     0.13    76.01     0.01    2.16    2.94    0.99   1.70   1.06
sdp               0.03     0.62    5.03    2.50     0.11     0.15    68.65     0.02    2.39    3.08    0.99   1.99   1.50
sdq               0.03     0.53    4.46    2.08     0.09     0.12    67.74     0.02    2.42    3.04    1.09   2.01   1.32
sdr               0.03     0.57    4.21    2.31     0.09     0.14    72.05     0.02    2.35    3.00    1.16   1.89   1.23
sdt               0.03     0.66    4.78    5.13     0.10     0.20    61.78     0.02    1.90    3.10    0.79   1.49   1.47
sdu               0.03     0.55    3.93    2.42     0.09     0.13    70.77     0.01    2.17    2.97    0.85   1.79   1.14
sds               0.03     0.60    4.11    2.70     0.10     0.15    74.77     0.02    2.25    3.01    1.10   1.76   1.20
sdw               1.53     0.00    0.23   38.90     0.00     1.66    87.01     0.01    0.22    0.11    0.22   0.05   0.20
sdv               0.88     0.00    0.16   28.75     0.00     1.19    84.55     0.01    0.24    0.10    0.24   0.05   0.14
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00    1.84    1.84    0.00   1.15   0.00
dm-1              0.00     0.00    0.23    0.29     0.00     0.00    23.78     0.00    1.87    4.06    0.12   0.55   0.03
dm-2              0.00     0.00    0.01    0.00     0.00     0.00     8.00     0.00    0.47    0.47    0.00   0.45   0.00

समस्या:

लगभग 48 घंटों के बाद, सन्निहित पृष्ठ इतने खंडित हो जाते हैं कि मैग्नीट्यूड चार (16 पृष्ठ, 65536 बाइट) आबंटन विफल होने लगते हैं और हम पैकेट छोड़ना शुरू कर देते हैं (कलैक के असफल होने पर एसएलएबी बढ़ने पर)।

यह वह है जो अपेक्षाकृत "स्वस्थ" सर्वर जैसा दिखता है:

# cat /sys/kernel/debug/extfrag/unusable_index
Node 0, zone      DMA 0.000 0.000 0.000 0.001 0.003 0.007 0.015 0.031 0.031 0.096 0.225 
Node 0, zone    DMA32 0.000 0.009 0.015 0.296 0.733 0.996 0.997 0.998 0.998 1.000 1.000 
Node 0, zone   Normal 0.000 0.000 0.019 0.212 0.454 0.667 0.804 0.903 0.986 1.000 1.000 
Node 1, zone   Normal 0.000 0.027 0.040 0.044 0.071 0.270 0.506 0.772 1.000 1.000 1.000 

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

वर्कअराउंड इस प्रकार अब तक।

विखंडन के तहत, यह सुनिश्चित करने के लिए कि ये आवंटन विफल न हों, मैंने निर्धारित किया:

vm.min_free_kbytes = 16777216

SLAB कैश में लाखों blkdev_requests देखने के बाद, मैंने इसके माध्यम से गंदे पन्नों को कम करने की कोशिश की:

vm.dirty_ratio = 1
vm.dirty_background_ratio = 1
vm.min_slab_ratio = 1
vm.zone_reclaim_mode = 3

संभवतः एक ही बार में बहुत सारे चर बदल रहे हैं, लेकिन सिर्फ इनोडेस और डेंट्री के कारण विखंडन हो रहा है, मैंने उन्हें कम से कम रखने का फैसला किया:

vm.vfs_cache_pressure = 10000

और यह मदद करने के लिए लग रहा था। विखंडन अभी भी उच्च है, और कम इनोड और डेंट्री मुद्दों का मतलब है कि मैंने कुछ अजीब देखा जो मुझे आगे ले जाता है ...

मेरा प्रश्न:

ऐसा क्यों है कि मेरे पास बहुत से blkdev_requests हैं (जो सक्रिय कम नहीं हैं), कि बस जब मैं कैश छोड़ता हूं तो गायब हो जाता है

यही है जो मेरा मतलब है:

# slabtop -o -s c | head -20
 Active / Total Objects (% used)    : 19362505 / 19431176 (99.6%)
 Active / Total Slabs (% used)      : 452161 / 452161 (100.0%)
 Active / Total Caches (% used)     : 72 / 100 (72.0%)
 Active / Total Size (% used)       : 5897855.81K / 5925572.61K (99.5%)
 Minimum / Average / Maximum Object : 0.01K / 0.30K / 15.69K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
2565024 2565017  99%    1.00K  80157       32   2565024K xfs_inode              
3295194 3295194 100%    0.38K  78457       42   1255312K blkdev_requests        
3428838 3399527  99%    0.19K  81639       42    653112K dentry                 
5681088 5680492  99%    0.06K  88767       64    355068K kmalloc-64             
2901366 2897861  99%    0.10K  74394       39    297576K buffer_head            
 34148  34111  99%    8.00K   8537        4    273184K kmalloc-8192           
334768 334711  99%    0.57K  11956       28    191296K radix_tree_node        
614959 614959 100%    0.15K  11603       53     92824K xfs_ili                
 21263  19538  91%    2.84K   1933       11     61856K task_struct            
 18720  18636  99%    2.00K   1170       16     37440K kmalloc-2048           
 32032  25326  79%    1.00K   1001       32     32032K kmalloc-1024           
 10234   9202  89%    1.88K    602       17     19264K TCP                    
 22152  19765  89%    0.81K    568       39     18176K task_xstate

# echo 2 > /proc/sys/vm/drop_caches                                                                                                                                                   :(
# slabtop -o -s c | head -20       
 Active / Total Objects (% used)    : 965742 / 2593182 (37.2%)
 Active / Total Slabs (% used)      : 69451 / 69451 (100.0%)
 Active / Total Caches (% used)     : 72 / 100 (72.0%)
 Active / Total Size (% used)       : 551271.96K / 855029.41K (64.5%)
 Minimum / Average / Maximum Object : 0.01K / 0.33K / 15.69K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
 34140  34115  99%    8.00K   8535        4    273120K kmalloc-8192           
143444  20166  14%    0.57K   5123       28     81968K radix_tree_node        
768729 224574  29%    0.10K  19711       39     78844K buffer_head            
 73280   8287  11%    1.00K   2290       32     73280K xfs_inode              
 21263  19529  91%    2.84K   1933       11     61856K task_struct            
686848  97798  14%    0.06K  10732       64     42928K kmalloc-64             
223902  41010  18%    0.19K   5331       42     42648K dentry                 
 32032  23282  72%    1.00K   1001       32     32032K kmalloc-1024           
 10234   9211  90%    1.88K    602       17     19264K TCP                    
 22152  19924  89%    0.81K    568       39     18176K task_xstate            
 69216  59714  86%    0.25K   2163       32     17304K kmalloc-256            
 98421  23541  23%    0.15K   1857       53     14856K xfs_ili                
  5600   2915  52%    2.00K    350       16     11200K kmalloc-2048           

यह मेरे लिए कहता है कि blkdev_request बिल्डअप वास्तव में गंदे पृष्ठों से संबंधित नहीं है, और इसके अलावा कि सक्रिय वस्तुएं वास्तव में सक्रिय नहीं हैं? यदि वे वास्तव में उपयोग में नहीं हैं तो इन वस्तुओं को कैसे मुक्त किया जा सकता है? यहाँ क्या हो रहा है?

कुछ पृष्ठभूमि के लिए, यहाँ drop_caches क्या कर रहा है:

http://lxr.free-electrons.com/source/fs/drop_caches.c

अपडेट करें:

काम किया है कि वे blkdev_requests नहीं हो सकता है, लेकिन उस 'शीर्षक' के तहत दिखा xfs_buf प्रविष्टियां हो सकती हैं? यकीन नहीं होता कि यह कैसे काम करता है:

/sys/kernel/slab # ls -l blkdev_requests(
lrwxrwxrwx 1 root root 0 Nov  7 23:18 blkdev_requests -> :t-0000384/

/sys/kernel/slab # ls -l | grep 384
lrwxrwxrwx 1 root root 0 Nov  7 23:18 blkdev_requests -> :t-0000384/
lrwxrwxrwx 1 root root 0 Nov  7 23:19 ip6_dst_cache -> :t-0000384/
drwxr-xr-x 2 root root 0 Nov  7 23:18 :t-0000384/
lrwxrwxrwx 1 root root 0 Nov  7 23:19 xfs_buf -> :t-0000384/

मुझे अभी भी नहीं पता है कि ये 'drop_slabs' द्वारा क्यों साफ़ किए जाते हैं, या कैसे इस विखंडन का कारण बनते हैं।

बोनस प्रश्न: इस विखंडन के स्रोत के लिए एक बेहतर तरीका क्या है?

यदि आप इसे दूर तक पढ़ते हैं, तो आपका ध्यान देने के लिए धन्यवाद!

अतिरिक्त अनुरोधित जानकारी:

मेमोरी और xfs जानकारी: https://gist.github.com/christian-marie/f417cc3134544544a8d1

पृष्ठ आवंटन विफलता: https://gist.github.com/christian-marie/7bc845d2da7847534104

फॉलो अप करें: संपूर्ण जानकारी और संकलन संबंधित चीजें

http://ponies.io/raw/compaction.png

संघनन कोड थोड़ा अक्षम लगता है? मैंने कुछ कोड्स को एक साथ फेल किए गए कंपार्टमेंट को दोहराने के प्रयास के लिए किया है: https://gist.github.com/christian-marie/cde7e80c5edb889da541

इस मुद्दे को पुन: पेश करने के लिए लगता है।

मैं यह भी नोट करूंगा कि एक ईवेंट ट्रेस बताता है कि बार-बार असफल विफलताओं के बहुत सारे कारण हैं:

<...>-322 [023] .... 19509.445609: mm_vmscan_direct_reclaim_end: nr_reclaimed=1

Vmstat आउटपुट भी संबंधित है। जब भी सिस्टम इस उच्च भार की स्थिति में होता है, तो छत से (और अधिकतर विफल) कंपार्टमेंट्स गुजरती हैं:

pgmigrate_success 38760827 pgmigrate_fail 350700119 compact_migrate_scanned 301784730 compact_free_scanned 204838172846 compact_isolated 18711615 compact_stall 270115 compact_fail 244488 compact_success 25212

पुनः प्राप्ति / संघनन के साथ वास्तव में कुछ गड़बड़ है।

फिलहाल मैं अपने ipoib सेटअप में SG सपोर्ट जोड़कर उच्च ऑर्डर आवंटन को कम करने की दिशा में देख रहा हूं। वास्तविक मुद्दा संभावित vmscan संबंधित प्रतीत होता है।

यह दिलचस्प है, और इस सवाल का संदर्भ देता है: http://marc.info/?l=linux-mm&m=141607142529562&w=2


2
हां, यह तो हैरत की बात है!! हमें इनमें से कई अच्छे प्रश्न नहीं मिलते हैं। मैं देखूंगा कि हम क्या कर सकते हैं, हालांकि।
इविविट

1
आप /proc/buddyinfoके परिणाम और के परिणाम प्रदान कर सकते हैं free -m? ब्लॉकदेव अनुरोधों को संभवतः बफ़र्स के रूप में दर्शाया जाता है free। ओह, और जो डिस्ट्रो आप इस्तेमाल कर रहे हैं वह भी अच्छा होगा। इसके अतिरिक्त, क्या आपके पास कोई page allocation failureसंदेश दिखाई दे रहा है dmesg? यदि ऐसा है तो कृपया आउटपुट के साथ-साथ कोई भी संदर्भ संदर्भ प्रदान करें।
मैथ्यू इफ

1
इसके अलावा, क्या आपने एक विशिष्ट mkfs.xfsकमांड लाइन का उपयोग किया है ? विशालकाय सक्षम?
इविविट

इसके अलावा/proc/meminfo
मैथ्यू इफ

स्वयं के द्वारा पारदर्शी विशालताओं को अक्षम करने की कोशिश की (उन्हें कभी नहीं), विफलता अभी भी हुई। इसे अन्य 'सुधारों' के साथ जोड़कर नहीं देखा।
पिंगू

जवाबों:


4

मुझे लगा कि मैं अपनी टिप्पणियों के साथ उत्तर दूंगा क्योंकि बहुत सारी टिप्पणियां हैं।

Https://gist.github.com/christian-marie/7bc845d2da7757575104 पर अपने आउटपुट के आधार पर

हम निम्नलिखित निर्धारित कर सकते हैं:

  1. स्मृति आवंटन के लिए GFP_MASK की कोशिश की निम्नलिखित करने की अनुमति है।
    • आपातकालीन पूल तक पहुँच सकते हैं (मुझे लगता है कि इसका मतलब है कि ज़ोन के लिए उच्च वॉटरमार्क के नीचे एक्सेस डेटा)
    • आपातकालीन भंडार का उपयोग न करें (मुझे लगता है कि इसका मतलब है कि न्यूनतम वॉटरमार्क के नीचे मेमरी तक पहुंच की अनुमति नहीं है)
    • सामान्य क्षेत्रों में से एक से आवंटित करें।
    • कमरा बनाने के लिए स्वैप कर सकते हैं।
    • कमरे बनाने के लिए कैश छोड़ सकते हैं।

क्षेत्र विखंडन यहाँ स्थान है:

[3443189.780792] Node 0 Normal: 3300*4kB (UEM) 8396*8kB (UEM) 4218*16kB (UEM) 76*32kB (UEM) 12*64kB (M) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 151056kB
[3443189.780801] Node 1 Normal: 26667*4kB (UEM) 6084*8kB (UEM) 2040*16kB (UEM) 96*32kB (UEM) 22*64kB (UEM) 4*128kB (U) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 192972kB

और समय पर स्मृति उपयोग यहाँ है:

[3443189.780759] Node 0 Normal free:149520kB min:40952kB low:51188kB high:61428kB active_anon:9694208kB inactive_anon:1054236kB active_file:7065912kB inactive_file:7172412kB unevictable:0kB isolated(anon):5452kB isolated(file):3616kB present:30408704kB managed:29881160kB mlocked:0kB dirty:0kB writeback:0kB mapped:25440kB shmem:743788kB slab_reclaimable:1362240kB slab_unreclaimable:783096kB kernel_stack:29488kB pagetables:43748kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[3443189.780766] Node 1 Normal free:191444kB min:45264kB low:56580kB high:67896kB active_anon:11371988kB inactive_anon:1172444kB active_file:8084140kB inactive_file:8556980kB unevictable:0kB isolated(anon):4388kB isolated(file):4676kB present:33554432kB managed:33026648kB mlocked:0kB dirty:0kB writeback:0kB mapped:45400kB shmem:2263296kB slab_reclaimable:1606604kB slab_unreclaimable:438220kB kernel_stack:55936kB pagetables:44944kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no

पृष्ठ आवंटन विफलता आउटपुट में प्रत्येक ज़ोन का विखंडन खराब है। वहाँ बहुत से मुक्त आदेश 0 पृष्ठ हैं, जिनमें से बहुत कम के साथ कोई भी उच्चतर आदेश पृष्ठ नहीं हैं। एक 'अच्छा' परिणाम प्रत्येक आदेश के साथ भरपूर मात्रा में मुफ्त पृष्ठ होगा, धीरे-धीरे आप जिस क्रम में जाएंगे, उसका आकार कम होगा। ५ उच्च और ५ पृष्ठ से ऊपर के आदेश उच्च स्तर के आवंटन के लिए विखंडन और भुखमरी को इंगित करते हैं।

मैं वर्तमान में यह सुनिश्चित करने के लिए सबूतों की एक ठोस डिग्री नहीं देख रहा हूं कि इस अवधि के दौरान विखंडन स्लैब कैश के साथ कुछ भी करना है। परिणामी मेमोरी आँकड़ों में, हम निम्नलिखित देख सकते हैं

Node 0 = active_anon:9694208kB inactive_anon:1054236kB
Node 1 = active anon:11371988kB inactive_anon:1172444kB

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

व्यवहार मैं व्याख्या नहीं कर सकता

जब उच्च आदेश आबंटन विफल हो जाता है, तो यह मेरी समझ है कि उच्च-क्रम मेमोरी आवंटन के क्षेत्रों के लिए अनुमति देने और सफल होने के लिए स्मृति संघनन हमेशा प्रयास किया जाता है। ऐसा क्यों नहीं होता है? यदि ऐसा होता है, तो जब 22GiB को फिर से व्यवस्थित करने के लिए पका हुआ है, तो इसे डीफ़्रैग्मेन्ट करने के लिए कोई मेमोरी क्यों नहीं मिल सकती है?

व्यवहार मुझे लगता है कि मैं समझा सकता हूं

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

Whilst प्रत्येक क्षेत्र में बहुत सारी मुफ्त मेमोरी और कुछ ऑर्डर 4 अनुरोध छोड़ दिए जाते हैं, "प्रत्येक ऑर्डर के लिए कुल सभी मुफ्त मेमोरी और वास्तविक मुफ्त मेमोरी से कटौती" परिणाम 'मिनट' वॉटरमार्क के नीचे एक 'मुफ्त मेमोरी' में होता है जो है क्या वास्तविक आवंटन विफलता की ओर जाता है।


यह अजीब लगता है कि एक अपेक्षाकृत (कुल मुक्त स्मृति के लिए) छोटा SLAB कैश सभी यादों को टुकड़े कर देगा। मुझे उम्मीद होगी कि उन सभी मुफ्त बेदखल पृष्ठों के साथ यह बस कुछ बेदखल होगा और इसके साथ किया जाएगा। मुझे संदेह है कि NUMA के पास इस विषमता के साथ कुछ करने के लिए हो सकता है।
pingu

है numadइस सिस्टम पर चल रहा है?
ewwhite 2

@ बहुत सुन्न नहीं चल रहा है, नहीं।
पिंगू

@pingu यदि यह व्यवहार प्रतिलिपि प्रस्तुत करने योग्य है, तो numadसेवा को सक्षम करने का प्रयास करें और कार्यों का ध्यान रखें /var/log/numad.log। आपको भी स्थापित libcgroup की आवश्यकता हो सकती है।
ewwhite

@ ठीक है, मेरे पास अब एक चल रहा है। मुझे यकीन नहीं है कि मैं क्या करने की उम्मीद कर रहा हूं या हमें इससे क्या जानकारी मिल सकती है। क्या आप उम्मीद कर रहे हैं कि हो सकता है?
pingu
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.