এক্সএফএস, 20 ডিস্ক এবং সিফ সহ "বৃহত্তর" সার্ভারে পৃষ্ঠা বিভাজনের কারণ


18

লিনাক্স আইও সিস্টেমে কিছুটা অভিজ্ঞতার সাথে কারও কাছ থেকে অন্তর্দৃষ্টি সহায়ক হবে। আমার গল্পটি এখানে:

সম্প্রতি সিফের মাধ্যমে ফাইলগুলি পরিবেশন করতে ছয়টি ডেল পাওয়ারএজ rx720xds এর একটি ক্লাস্টার নিয়ে এসেছিল। এই মেশিনগুলিতে দুটি সুমায় দুটি নুমা অঞ্চল এবং 70 টি বিজোড় গিগাবাইট মেমরির সাথে 24 টি কোর রয়েছে। ডিস্কগুলি প্রতিটি একটি ডিস্কের রেড হিসাবে ফর্ম্যাট করা হয় (আমরা অন্যথায় তাদের সরাসরি প্রকাশের উপায় দেখতে পাইনি)। নেটওয়ার্কিং মেল্লানাক্স ইনফিনিব্যান্ড আইপি ওভার আইবি দ্বারা সরবরাহ করা হয় (আইপি প্যাকেটগুলি কার্নেল জমিতে আইবিতে রূপান্তরিত হয়, হার্ডওয়্যার নয়)।

আমাদের প্রতিটি এসএএস ড্রাইভের মতো মাউন্ট রয়েছে:

# 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

এই মেশিনগুলির মধ্য দিয়ে যাওয়া আইও কয়েকশ এমবি / সেকেন্ডে ফেটে যায়, তবে বেশিরভাগ সময় বেশিরভাগ অল্প 'পোকেস' দিয়ে বেশ অলস থাকে:

# 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 

যখন টুকরো টুকরো টুকরো টুকরো টুকরো হয়ে যায় তখন সিস্টেমটি কার্নেল স্পেসে কাটানো শুরু করে এবং সমস্ত কিছু পৃথক হয়ে যায়। এই ব্যর্থতার সময় অসাধারণতা হ'ল এক্সফসাইল্ড প্রচুর সিপিইউ ব্যবহার করে এবং নিরবচ্ছিন্ন ঘুমের অবস্থায় আটকে যায়। যদিও মোট সিস্টেমের ব্যর্থতার সময় আমি অদ্ভুততার সাথে কোনও সিদ্ধান্তে ঝাঁপিয়ে উঠতে চাই না।

এ পর্যন্ত কাজ

এই বরাদ্দগুলি ব্যর্থ না হয় তা নিশ্চিত করার জন্য, এমনকি খণ্ডিতকরণের অধীনে, আমি সেট করেছি:

vm.min_free_kbytes = 16777216

এসএলবি ক্যাশে কয়েক মিলিয়ন ব্লকদেব_রীক্ষাগুলি দেখার পরে, আমি এর মাধ্যমে নোংরা পৃষ্ঠাগুলি হ্রাস করার চেষ্টা করেছি:

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

সম্ভবত একবারে অনেকগুলি ভেরিয়েবল পরিবর্তন করা, তবে কেবলমাত্র যদি ইনোড এবং ডেন্ট্রিগুলি খণ্ডিত করে তোলে তবে আমি সেগুলি ন্যূনতম রাখার সিদ্ধান্ত নিয়েছি:

vm.vfs_cache_pressure = 10000

এবং এই সাহায্য বলে মনে হচ্ছে। টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো

আমার প্রশ্ন:

আমার কেন এতগুলি ব্লকদেব_রেকুয়েস্ট আছে (যেগুলি কম সক্রিয়), আমি যখন ক্যাশে ছেড়ে দিই তখন কেবল অদৃশ্য হয়ে যায়?

আমি যা বলতে চাইছি তা এখানে:

# 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 বিল্ডআপটি আসলে নোংরা পৃষ্ঠাগুলির সাথে সম্পর্কিত নয় এবং তদ্ব্যতীত সক্রিয় বস্তুগুলি আসলেই সক্রিয় নয়? এই বিষয়গুলি বাস্তবে ব্যবহারে না থাকলে কীভাবে মুক্তি দেওয়া যায়? এখানে কি হচ্ছে?

কিছু ব্যাকগ্রাউন্ডের জন্য, ড্রপ_ক্যাচগুলি এখানে যা করছে:

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

হালনাগাদ:

ওয়ার্ক করে দিয়েছিলেন যে তারা ব্লকদেব_রেকুয়েস্ট নাও হতে পারে, তবে এই 'শিরোনাম'-এর অধীনে 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/

এগুলি কেন 'ড্রপ_স্ল্যাবস' দ্বারা সাফ করা হচ্ছে বা কীভাবে কীভাবে এই খণ্ডটি ঘটছে তা কীভাবে কাজ করবে তা আমি এখনও জানি না।

বোনাস প্রশ্ন: এই খণ্ডটির উত্স পেতে আরও ভাল উপায় কি?

আপনি যদি এ পর্যন্ত পড়ে থাকেন তবে মনোযোগ দেওয়ার জন্য আপনাকে ধন্যবাদ!

অতিরিক্ত অনুরোধ করা তথ্য:

মেমরি এবং এক্সএফএস তথ্য: 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

ভিএমস্ট্যাট আউটপুটও সম্পর্কিত। সিস্টেমটি এই উচ্চ লোডের অবস্থায় থাকলেও কমপ্যাক্টগুলি ছাদের মধ্য দিয়ে চলছে (এবং বেশিরভাগ ব্যর্থ হয়):

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

দাবী / কমপ্যাকশন নিয়ে প্রকৃতপক্ষে উদ্ভট কিছু আছে।

এই মুহুর্তে আমি আমাদের আইপিওব সেটআপে এসজি সমর্থন যোগ করে হাই অর্ডার বরাদ্দ হ্রাস করার দিকে তাকিয়ে আছি। আসল ইস্যুটি সম্ভবত vmscan সম্পর্কিত প্রদর্শিত হবে।

এটি আকর্ষণীয় এবং এই প্রশ্নের উল্লেখ: http://marc.info/?l=linux-mm&m=141607142529562&w=2


2
হ্যাঁ হ্যা !! আমরা এই ভাল প্রশ্ন অনেক পেতে না। তবে আমরা কী করব তা দেখতে পাব।
ew white

1
আপনি কি /proc/buddyinfoফলাফল এবং এর ফলাফল প্রদান করতে পারেন free -m? ব্লকদেব অনুরোধগুলি সম্ভবত বাফার হিসাবে উপস্থাপিত হয় free। ওহ, এবং আপনি যে ডিস্ট্রো ব্যবহার করছেন তাও ভাল be অতিরিক্তভাবে, আপনার কি কোনও page allocation failureবার্তা উপস্থিত হচ্ছে dmesg? যদি তা হয় তবে আউটপুট প্লাস কোনও প্রাসঙ্গিক প্রসঙ্গ সরবরাহ করুন context
ম্যাথু ইফি

1
এছাড়াও, আপনি একটি নির্দিষ্ট mkfs.xfsকমান্ড লাইন ব্যবহার করেছেন ? বিশাল সংখ্যা সক্ষম হয়েছে?
ew white

এছাড়াও আউটপুট/proc/meminfo
ম্যাথু Ife

নিজেরাই স্বচ্ছ হিটপেজগুলি অক্ষম করার চেষ্টা করেছেন (সেগুলি কখনই সেট করে না), ব্যর্থতা এখনও ঘটেছে। অন্যান্য 'ফিক্স' এর সাথে একত্রে এটি চেষ্টা করে নি।
pingu

উত্তর:


4

আমি ভেবেছিলাম যে আমি আমার পর্যবেক্ষণগুলির সাথে একটি উত্তর দেব কারণ অনেক মন্তব্য রয়েছে।

আপনার আউটপুটটি https://gist.github.com/christian-marie/7bc845d2da7847534104 এ ভিত্তিক

আমরা নিম্নলিখিতগুলি নির্ধারণ করতে পারি:

  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 টি মুক্ত অর্ডার রয়েছে। একটি 'ভাল' ফলাফল প্রতিটি ক্রম বরাবর প্রচুর বিনামূল্যে পৃষ্ঠাগুলি হবে, ধীরে ধীরে আপনি যে ক্রমটি যান তত বেশি আকারের হবে। উচ্চতর অর্ডার বরাদ্দের জন্য 0 টি হাই অর্ডার পৃষ্ঠাগুলি 5 এবং ততোধিকগুলি টুকরো টুকরো করা এবং অনাহার নির্দেশ করে।

আমি এই মুহুর্তে দৃ conv়প্রত্যয়ী প্রমাণ দেখতে পাচ্ছি না যে এই সময়ের মধ্যে টুকরো টুকরো টুকরো করা স্ল্যাব ক্যাশেগুলির সাথে সম্পর্কিত। ফলস্বরূপ মেমরির পরিসংখ্যানগুলিতে আমরা নিম্নলিখিতটি দেখতে পারি

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

ইউজারস্পেস থেকে কোনও বিশাল পৃষ্ঠা নির্ধারিত নেই, এবং ইউজারস্পেস এভাবে সর্বদা অর্ডার 0 মেমরির দাবি করবে। সুতরাং উভয় জোনে সম্পূর্ণরূপে 22 গিগাবাইটেরও বেশি ডিফ্র্যাগমেন্টেবল মেমরি থাকে।

আচরণগুলি আমি ব্যাখ্যা করতে পারি না

যখন উচ্চ অর্ডার বরাদ্দ ব্যর্থ হয়, তখন এটি আমার বোঝা যায় যে উচ্চ-অর্ডার মেমরির বরাদ্দের অঞ্চলগুলিকে সঞ্চালন করতে এবং সফল হওয়ার জন্য মেমরি কমপ্যাকশন সর্বদা চেষ্টা করা হয়। কেন এমন হয় না? যদি এটি ঘটে থাকে, তবে কেন এটির 22 গিগাবাইট পুনর্বিন্যাসের জন্য উপযুক্ত যখন এটি ডিফ্র্যাগমেন্টের কোনও স্মৃতি খুঁজে পাবে না?

আচরণগুলি আমি মনে করি আমি ব্যাখ্যা করতে পারি

সঠিকভাবে বুঝতে এটির জন্য আরও গবেষণা প্রয়োজন, তবে আমি বিশ্বাস করি বরাদ্দকরণের জন্য সফলভাবে কিছু পৃষ্ঠাচিহ্ন স্বয়ংক্রিয়ভাবে অদলবদল / ড্রপ করার ক্ষমতাটি এখানে প্রয়োগ হয় না কারণ এখনও প্রচুর ফ্রি মেমরি পাওয়া যায়, তাই কোনও দাবি পুনরায় দাবি হয় না। উচ্চতর অর্ডারগুলিতে কেবল যথেষ্ট নয়।

প্রচুর পরিমাণে ফ্রি মেমরি এবং কয়েকটি জোনে প্রতিটি জোনটিতে 4 টি অনুরোধ বাকি রয়েছে, "প্রতিটি অর্ডারের জন্য সমস্ত নিখরচায় মেমরি এবং বাস্তব নিখরচায় মেমরি থেকে ছাড়" ইস্যুটির ফলাফল 'মিনিট' ওয়াটারমার্কের নীচে 'ফ্রি মেমরি' হয়ে থাকে যা প্রকৃত বরাদ্দ ব্যর্থতার দিকে নিয়ে যায়।


এটি একটি উদ্ভট বলে মনে হয় না যে তুলনামূলকভাবে (মোট ফ্রি মেমরির জন্য) ছোট এসএলবি ক্যাশে সমস্ত স্মৃতি খণ্ডিত করে। আমি প্রত্যাশা করতাম যে এই সমস্ত বিনামূল্যে উচ্ছেদযোগ্য পৃষ্ঠাগুলির সাথে এটি কেবল কিছু উচ্ছেদ করা হবে এবং এটি দিয়ে সম্পন্ন করা হবে। আমি সন্দেহ করি যে এই বিজোড়তাটির সাথে NUMA এর কিছু থাকতে পারে।
pingu

হয় numadএই সিস্টেমে চলমান?
ew

@ নতুন সাদা নুমদ চলছে না, নেই।
pingu

@ ইস্পু এই আচরণটি যদি পুনরায় উত্পাদনযোগ্য হয় তবে numadপরিষেবাটি সক্ষম করার চেষ্টা করুন এবং এতে ক্রিয়াগুলি নোট করুন /var/log/numad.log। আপনারও libcgrou ইনস্টল থাকতে পারে।
ew

ঠিক আছে, আমার এখন একটা চলছে। আমি নিশ্চিত না যে আমি এটি কী করবে বা এটি থেকে আমরা কী তথ্য পেতে পারি। আপনি কি আশা করছেন কি ঘটতে পারে?
pingu
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.