Làm thế nào để giảm các trang không thể di chuyển và không thể truy cập trong linux


1

Chúng tôi có bảng tùy chỉnh dựa trên BBB và nó có RAM 256 MB và 4GB eMMC, chúng tôi đang thấy vấn đề phân mảnh trên đó.
Và như một phần của phân tích tôi muốn hiểu, bộ đệm unmovable( from /proc/pagetypeinfo)unevictable(from /proc/zoneinfo)trang trong bộ đệm (hay bộ đệm) là gì?

#  cat /proc/pagetypeinfo ; cat /proc/buddyinfo 
Page block order: 11
Pages per block:  2048

Free pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10     11 
Node    0, zone   Normal, type    Unmovable    291    254    213    171    146     98     68     41     23     16      6      0 
Node    0, zone   Normal, type  Reclaimable      0      0      2      2      1      0      1      1      1      1      1      0 
Node    0, zone   Normal, type      Movable     32     19      5      8      4      4      3      1      1      0      1      0 
Node    0, zone   Normal, type      Reserve     30     31     22     20     23     14      7      3      0      0      0      0 
Node    0, zone   Normal, type          CMA    507    252    112     16      1      1      0      0      0      0      0      0 
Node    0, zone   Normal, type      Isolate      0      0      0      0      0      0      0      0      0      0      0      0 

Number of blocks type     Unmovable  Reclaimable      Movable      Reserve          CMA      Isolate 
Node 0, zone   Normal           20            1            8            1            2            0 
Node 0, zone   Normal    860    556    354    217    175    117     79     46     25     17      8      0 

đầu ra df như sau

Filesystem           1024-blocks    Used Available Use% Mounted on
rootfs                  487652    136737    321219  30% /
/dev/root               487652    136737    321219  30% /
tmpfs                   125720        60    125660   0% /tmp
tmpfs                   125720         0    125720   0% /dev/shm
tmpfs                   125720        68    125652   0% /var/run
tmpfs                   125720         8    125712   0% /var/spool/cron
tmpfs                   125720         4    125716   0% /home/<app>/.ssh
tmpfs                   125720         0    125720   0% /var/sftp
tmpfs                   125720         0    125720   0% /var/monit-health-check
/dev/mmcblk0p18          55397      3480     47617   7% /var/db
/dev/mmcblk0p19         999320      1416    929092   0% /var/firmware
/dev/mmcblk0p20         379525      2094    353316   1% /var/misc
/dev/mmcblk0p21          31596      1065     27951   4% /var/log
/dev/mmcblk0p22         999320      1284    929224   0% /var/eventlog

không ramfscó chỉ có tmpfsvậy tại sao ~38MBcác trang không thể di chuyển được hiện diện? Có điều gì bất thường không?

Chúng tôi đã CONFIG_COMPACTIONkích hoạt trong cấu hình kernel. Điều đó là khi chúng ta thấy

Vấn đề phân mảnh đã được hỏi trong các nhóm google dựa trên BBB, Chúng tôi chưa có giải pháp. https://groups.google.com/forum/#!topic/beagleboard/L7piqfHiyO8

Ca sử dụng : Tạo tar chứa các tệp Kích thước 4k (sử dụng / dev / urandom) (85,0000) và giải nén nó trên phân vùng được gắn (kích thước 500MB, FS = ext4), sau một thời gian, chúng tôi hủy kết nối dừng và phân vùng được hiển thị lại dưới dạng chỉ đọc.

[47364.483783] lowmem_reserve[]: 0 0 0
[47364.483797] Normal: 2529*4kB (UEMRC) 893*8kB (UEMC) 16*16kB (UM) 6*32kB (M) 0*64kB 1*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 17836kB
[47364.483855] 44590 total pagecache pages
[47364.483871] 0 pages in swap cache
[47364.483881] Swap cache stats: add 0, delete 0, find 0/0
[47364.483888] Free swap  = 0kB
[47364.483895] Total swap = 0kB
[47364.494968] 65536 pages of RAM
[47364.494978] 4767 free pages
[47364.494985] 2662 reserved pages
[47364.494993] 5200 slab pages
[47364.495000] 310103 pages shared
[47364.495008] 0 pages swap cached
[47368.503176] mmcqd/1: page allocation failure: order:2, mode:0x200020
[47368.503216] CPU: 0 PID: 613 Comm: mmcqd/1 Tainted: P           O 3.12.10-005-ts-armv7l #1
[47368.503282] [<c0012d24>] (unwind_backtrace+0x0/0xf4) from [<c0011130>] (show_stack+0x10/0x14)
[47368.503317] [<c0011130>] (show_stack+0x10/0x14) from [<c0087548>] (warn_alloc_failed+0xe0/0x118)
[47368.503346] [<c0087548>] (warn_alloc_failed+0xe0/0x118) from [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8)
[47368.503375] [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8) from [<c00b2e8c>] (cache_alloc_refill+0x328/0x620)
[47368.503398] [<c00b2e8c>] (cache_alloc_refill+0x328/0x620) from [<c00b3224>] (__kmalloc+0xa0/0xe8)
[47368.503433] [<c00b3224>] (__kmalloc+0xa0/0xe8) from [<c0212904>] (edma_prep_slave_sg+0x84/0x388)
[47368.503469] [<c0212904>] (edma_prep_slave_sg+0x84/0x388) from [<c02eeb98>] (omap_hsmmc_request+0x414/0x508)
[47368.503497] [<c02eeb98>] (omap_hsmmc_request+0x414/0x508) from [<c02d9240>] (mmc_start_request+0xc4/0xe0)
[47368.503519] [<c02d9240>] (mmc_start_request+0xc4/0xe0) from [<c02da028>] (mmc_start_req+0x2d8/0x38c)
[47368.503540] [<c02da028>] (mmc_start_req+0x2d8/0x38c) from [<c02e7310>] (mmc_blk_issue_rw_rq+0xb4/0x9d8)
[47368.503562] [<c02e7310>] (mmc_blk_issue_rw_rq+0xb4/0x9d8) from [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468)
[47368.503583] [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468) from [<c02e8760>] (mmc_queue_thread+0x88/0x118)
[47368.503609] [<c02e8760>] (mmc_queue_thread+0x88/0x118) from [<c004d8b8>] (kthread+0xb4/0xb8)
[47368.503633] [<c004d8b8>] (kthread+0xb4/0xb8) from [<c000e298>] (ret_from_fork+0x14/0x3c)
[47368.503644] Mem-info:
[47368.503653] Normal per-cpu:
[47368.503664] CPU    0: hi:   90, btch:  15 usd:  17
[47368.503691] active_anon:7530 inactive_anon:20 isolated_anon:0
[47368.503691]  active_file:3142 inactive_file:44610 isolated_file:0
[47368.503691]  unevictable:422 dirty:32 writeback:0 unstable:0
[47368.503691]  free:1149 slab_reclaimable:3734 slab_unreclaimable:1130
[47368.503691]  mapped:2362 shmem:43 pagetables:256 bounce:0
[47368.503691]  free_cma:207
[47368.503752] Normal free:4596kB min:2004kB low:2504kB high:3004kB active_anon:30120kB inactive_anon:80kB active_file:12568kB inactive_file:178440kB unevictable:1688kB isolated(anon):0kB isolated(file):0kB present:260096kB managed:251496kB mlocked:1688kB dirty:128kB writeback:0kB mapped:9448kB shmem:172kB slab_reclaimable:14936kB slab_unreclaimable:4520kB kernel_stack:1176kB pagetables:1024kB unstable:0kB bounce:0kB free_cma:828kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[47368.503765] lowmem_reserve[]: 0 0 0
[47368.503782] Normal: 833*4kB (UEMRC) 158*8kB (MC) 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 4596kB
[47368.503833] 48144 total pagecache pages
[47368.503849] 0 pages in swap cache
[47368.503858] Swap cache stats: add 0, delete 0, find 0/0
[47368.503866] Free swap  = 0kB
[47368.503873] Total swap = 0kB
[47368.503885] SLAB: Unable to allocate memory on node 0 (gfp=0x20)
[47368.503896]   cache: kmalloc-16384, object size: 16384, order: 2
[47368.503909]   node 0: slabs: 7/7, objs: 7/7, free: 0
[47368.503932] omap_hsmmc 481d8000.mmc: prep_slave_sg() failed
[47368.503945] omap_hsmmc 481d8000.mmc: MMC start dma failure
[47368.512369] mmcblk0: unknown error -1 sending read/write command, card status 0x900
[47368.512578] blk_update_request: 371 callbacks suppressed
[47368.512591] end_request: I/O error, dev mmcblk0, sector 1371894
[47368.512613] Buffer I/O error on device mmcblk0p16, logical block 145275
[47368.512623] lost page write due to I/O error on mmcblk0p16
[47368.512892] end_request: I/O error, dev mmcblk0, sector 1371896
[47368.512906] Buffer I/O error on device mmcblk0p16, logical block 145276
[47368.512916] lost page write due to I/O error on mmcblk0p16
[47368.513011] end_request: I/O error, dev mmcblk0, sector 1371898
[47368.513024] Buffer I/O error on device mmcblk0p16, logical block 145277
[47368.513034] lost page write due to I/O error on mmcblk0p16
[47368.513107] end_request: I/O error, dev mmcblk0, sector 1371900
[47368.513179] end_request: I/O error, dev mmcblk0, sector 1371902
[47368.513251] end_request: I/O error, dev mmcblk0, sector 1371904
[47368.513322] end_request: I/O error, dev mmcblk0, sector 1371906
[47368.513405] end_request: I/O error, dev mmcblk0, sector 1371908
[47368.513478] end_request: I/O error, dev mmcblk0, sector 1371910
[47368.513549] end_request: I/O error, dev mmcblk0, sector 1371912
[47368.796212] Aborting journal on device mmcblk0p16-8.
[47368.802513] EXT4-fs error (device mmcblk0p16): ext4_journal_check_start:56: Detected aborted journal
[47368.812303] EXT4-fs (mmcblk0p16): Remounting filesystem read-only
[47369.669029] Mem-info:
[47369.669043] Normal per-cpu:
[47369.669057] CPU    0: hi:   90, btch:  15 usd:  47
[47369.669085] active_anon:7486 inactive_anon:20 isolated_anon:0
[47369.669085]  active_file:3150 inactive_file:44775 isolated_file:0
[47369.669085]  unevictable:422 dirty:37 writeback:0 unstable:0
[47369.669085]  free:1041 slab_reclaimable:3730 slab_unreclaimable:1105
[47369.669085]  mapped:2367 shmem:43 pagetables:250 bounce:0
[47369.669085]  free_cma:176
[47369.669147] Normal free:4164kB min:2004kB low:2504kB high:3004kB active_anon:29944kB inactive_anon:80kB active_file:12600kB inactive_file:179100kB unevictable:1688kB isolated(anon):0kB isolated(file):0kB present:260096kB managed:251496kB mlocked:1688kB dirty:148kB writeback:0kB mapped:9468kB shmem:172kB slab_reclaimable:14920kB slab_unreclaimable:4420kB kernel_stack:1168kB pagetables:1000kB unstable:0kB bounce:0kB free_cma:704kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[47369.669159] lowmem_reserve[]: 0 0 0
[47369.669173] Normal: 733*4kB (UEMRC) 92*8kB (MC) 11*16kB (UMC) 6*32kB (UMC) 2*64kB (U) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 4164kB

Vấn đề tương tự không thể lặp lại trong BBB (với Linux 3.8 và angstrom). Tôi cũng đã thay đổi kích thước RAM thành 256M trong khi thử nghiệm nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.