系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux內存耗盡原因分析

Linux內存耗盡原因分析(2)

時間:2015-08-12 14:03:20 作者:zhijie 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150812/55260.html 手機查看 評論

  3.使用slabtop命令查看內核slab 緩沖區(qū)信息#slabtop -s c | head

  Active / Total Objects (% used) : 31807723 / 35664583 (89.2%)

  Active / Total Slabs (% used) : 3259180 / 3259251 (100.0%)

  Active / Total Caches (% used) : 139 / 227 (61.2%)

  Active / Total Size (% used) : 11242773.43K / 12756788.05K (88.1%)

  Minimum / Average / Maximum Object : 0.02K / 0.36K / 4096.00K

  OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME

  8480676 7565420 89% 1.00K 2120169 4

  8480676K

  xfs_inode

  8351794 7565375 90% 0.22K 491282 17

  1965128K

  xfs_ili

  xfs_ili 占用1965128k xfs_inode占用8480676K,但他們究竟是什么東東?猜測是nas/rbd 卷的文件系統(tǒng)緩存信息。xfs_inode看字面意思是xfs文件系統(tǒng)的inode信息。

  搜了下xfs_ili,只搜到內核代碼片段。xfs_inode_zone =

  1636 kmem_zone_init_flags(sizeof(xfs_inode_t), “xfs_inode”,

  1637 KM_ZONE_HWALIGN | KM_ZONE_RECLAIM | KM_ZONE_SPREAD,

  1638 xfs_fs_inode_init_once);

  1639 if (!xfs_inode_zone)

  1640 goto out_destroy_efi_zone;

  1641

  1642 xfs_ili_zone =

  1643 kmem_zone_init_flags(sizeof(xfs_inode_log_item_t), “xfs_ili”,

  1644 KM_ZONE_SPREAD, NULL);

  28 typedef struct xfs_inode_log_item {

  29 xfs_log_item_t ili_item; /* common portion */

  30 struct xfs_inode *ili_inode; /* inode ptr */

  31 xfs_lsn_t ili_flush_lsn; /* lsn at last flush */

  32 xfs_lsn_t ili_last_lsn; /* lsn at last transaction */

  33 unsigned short ili_lock_flags; /* lock flags */

  34 unsigned short ili_logged; /* flushed logged data */

  35 unsigned int ili_last_fields; /* fields when flushed */

  36 unsigned int ili_fields; /* fields to be logged */

  37 struct xfs_bmbt_rec *ili_extents_buf; /* array of logged

  38 data exts */

  39 struct xfs_bmbt_rec *ili_aextents_buf; /* array of logged

  40 attr exts */

  41 xfs_inode_log_format_t ili_format; /* logged structure */

  42 } xfs_inode_log_item_t;

  分析加估計是文件系統(tǒng)的日志緩存。究竟是不是?目前nfs-server有14個卷,每個卷的在格式化xfs的時指定的參數(shù)(即日志大小)-l=128m 14*128*1024 約等于1965128。

  4.但是xfs_ili xfs_inode兩者加起來才10G,還有50G去哪兒了呢?查資料說linux將用過的文件緩存到內存中。

  執(zhí)行下面的命令就釋放了內存#sync #

  刷到磁盤

  #echo 3 》 /proc/sys/vm/drop_caches

  5.總結

  是不是由于內存少導致的性能變差,還在測試。不過以后在優(yōu)化nfs-server端有一定的指導意義。卷越多,必然占用的內存越多。做機頭的內存配置要高。

  以上就是Linux內存耗盡原因分析的全部內容了,只有找到內存占用高的原因,才能解決和防止類似情況發(fā)生。

標簽 內存

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關注
掃碼關注

掃碼關注 官方交流群 軟件收錄