爲了幫助你理解目錄項、索引節點以及文件數據的關係,我畫了一張示意圖,你能夠對照這張圖,來回憶剛剛講過的內容,把只知識和細節串聯起來node
這裏、我畫了一張Linux文件系統的架構圖,幫你更好地理解系統調用、VFS、緩存、文件系統以及塊存儲之間的關係圖緩存
一、查看文件系統的磁盤空間使用狀況bash
[root@luoahong ~]# df /dev/sda1 Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 4010852 0 4010852 0% /dev
二、df -h得到更好的可讀性網絡
[root@luoahong ~]# df -h /dev/sda1 Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev
三、查看索引節點使用狀況架構
[root@luoahong ~]# df -i /dev/sda1 Filesystem Inodes IUsed IFree IUse% Mounted on devtmpfs 1002713 401 1002312 1% /dev
四、小結性能
一、free輸出的Cache是頁緩存和可回收Slab緩存的和spa
[root@luoahong ~]# cat /proc/meminfo | grep -E "SReclaimable|Cached" Cached: 314664 kB SwapCached: 0 kB SReclaimable: 37348 kB
二、全部目錄項和各文件系統索引節點的緩存狀況:操作系統
[root@luoahong ~]# cat /proc/slabinfo | grep -E '^#|dentry|inode' # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> ovl_inode 98 98 664 49 8 : tunables 0 0 0 : slabdata 2 2 0 xfs_inode 7740 8424 896 36 8 : tunables 0 0 0 : slabdata 234 234 0 mqueue_inode_cache 36 36 896 36 8 : tunables 0 0 0 : slabdata 1 1 0 hugetlbfs_inode_cache 53 53 608 53 8 : tunables 0 0 0 : slabdata 1 1 0 sock_inode_cache 2550 2550 640 51 8 : tunables 0 0 0 : slabdata 50 50 0 shmem_inode_cache 1764 1833 696 47 8 : tunables 0 0 0 : slabdata 39 39 0 proc_inode_cache 2945 3038 656 49 8 : tunables 0 0 0 : slabdata 62 62 0 inode_cache 25746 25872 584 56 8 : tunables 0 0 0 : slabdata 462 462 0 dentry 39767 42966 192 42 2 : tunables 0 0 0 : slabdata 1023 1023 0
三、找到內存佔用最多的緩存類型blog
[root@luoahong ~]# slabtop Active / Total Objects (% used) : 384466 / 393627 (97.7%) Active / Total Slabs (% used) : 7262 / 7262 (100.0%) Active / Total Caches (% used) : 95 / 140 (67.9%) Active / Total Size (% used) : 107507.27K / 111249.76K (96.6%) Minimum / Average / Maximum Object : 0.01K / 0.28K / 16.62K OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME 48420 48420 100% 0.13K 807 60 6456K kernfs_node_cache 43008 39809 92% 0.19K 1024 42 8192K dentry 33799 33799 100% 0.05K 463 73 1852K Acpi-Parse 25872 25746 99% 0.57K 462 56 14784K inode_cache 25536 23690 92% 0.50K 399 64 12768K kmalloc-512 21760 21760 100% 0.03K 170 128 680K kmalloc-32 18688 18688 100% 0.02K 73 256 292K kmalloc-16 12800 12764 99% 0.20K 320 40 2560K vm_area_struct 12352 11907 96% 0.06K 193 64 772K anon_vma_chain 10248 10248 100% 0.07K 183 56 732K Acpi-Operand 9920 9211 92% 0.06K 155 64 620K kmalloc-64 9786 9786 100% 0.09K 233 42 932K kmalloc-96 9728 9728 100% 0.01K 19 512 76K kmalloc-8 9024 8704 96% 0.25K 141 64 2256K filp 8992 8844 98% 2.00K 562 16 17984K kmalloc-2k 8424 7740 91% 0.88K 234 36 7488K xfs_inode 8262 8262 100% 0.04K 81 102 324K Acpi-Namespace 7590 7590 100% 0.09K 165 46 660K anon_vma 5208 5208 100% 0.57K 93 56 2976K radix_tree_node 4128 3841 93% 1.00K 129 32 4128K kmalloc-1k 3904 3904 100% 0.12K 61 64 488K pid 3776 3520 93% 0.25K 59 64 944K skbuff_head_cache 3740 3740 100% 0.05K 44 85 176K ftrace_event_field 3276 3276 100% 0.19K 78 42 624K cred_jar 3038 2945 96% 0.64K 62 49 1984K proc_inode_cache 2880 2288 79% 0.12K 45 64 360K kmalloc-128
四、小結索引