魔法系统之家下载 - 系统之家,XP系统之家,GhostXP系统,纯净版XP系统,Windows7下载之家

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

Linux内存耗尽原因分析(2)

时间:2017-08-17 19:56:16来源:魔法系统之家下载作者:zhijie

  3.使用slabtop命令查看内核slab 缓冲区信息#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 卷的文件系统缓存信息。xfs_inode看字面意思是xfs文件系统的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;

  分析加估计是文件系统的日志缓存。究竟是不是?目前nfs-server有14个卷,每个卷的在格式化xfs的时指定的参数(即日志大小)-l=128m 14*128*1024 约等于1965128。

  4.但是xfs_ili xfs_inode两者加起来才10G,还有50G去哪儿了呢?查资料说linux将用过的文件缓存到内存中。

  执行下面的命令就释放了内存#sync #

  刷到磁盘

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

  5.总结

  是不是由于内存少导致的性能变差,还在测试。不过以后在优化nfs-server端有一定的指导意义。卷越多,必然占用的内存越多。做机头的内存配置要高。

  以上就是Linux内存耗尽原因分析的全部内容了,只有找到内存占用高的原因,才能解决和防止类似情况发生。

12 下一页
分享到:

相关信息

  • Arch Linux不适合当作服务器操作系统的四大原因

    为什么Arch Linux不适合当作服务器操作系统?可能很多用户都发现了,Linux服务器操作系统一般都是Ubuntu Server、Cent OS、Fedora或者Red Hat等,为什么很少看到Arch Linux呢?因为Arch Linux在服务方面确实存在一些劣势,下面...

    2017-08-17

  • Ubuntu 3D桌面特效怎么设置?

    有些用户为了使桌面更好看、更具动感性,于是就想要设置系统的3D桌面特效,不过不少人却不知道Ubuntu 3D桌面特效怎么设置?其实方法很简单,如果你不知道的话,那就赶紧来看看小编整理的Ubuntu 3D桌面特效设置方法吧!...

    2017-08-17

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载