当前位置:K88软件开发文章中心电脑基础基础应用04 → 文章内容

Linux内存耗尽原因分析

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-1-30 23:55:24

  Linux内存的使用需要维持在一定的比例内,如果内存占用太高,系统也能运行,但是会影响速度。本文就来介绍一下Linux中内存耗尽应该怎么分析?  在测试NAS性能,用fstest长时间写,分析性能变差的原因,发现server主机内存使用率很高。  1.首先查看内存# top -M  top - 14:43:12 up 14 days, 6 min, 1 user, load average: 8.36, 8.38, 8.41  Tasks: 419 total, 1 running, 418 sleeping, 0 stopped, 0 zombie  Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.0%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st  Mem: 63.050G total, 62.639G used, 420.973M free, 33.973M buffers  Swap: 4095.996M total, 0.000k used, 4095.996M free, 48.889G cached  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND  111 root 20 0 0 0 0 S 2.0 0.0 0:25.52 ksoftirqd/11  5968 root 20 0 15352 1372 828 R 2.0 0.0 0:00.01 top  13273 root 20 0 0 0 0 D 2.0 0.0 25:54.02 nfsd  17765 root 0 -20 0 0 0 S 2.0 0.0 0:11.89 kworker/5:1H  1 root 20 0 19416 1436 1136 S 0.0 0.0 0:01.88 init  。。。。。  发现内存基本用完,究竟是什么进程占用?top命令发现排名第一的%MEM才零点几。  2.通过 vmstat -m命令查看内核空间的内存使用。# vmstat -m  Cache Num Total Size Pages  xfs_dqtrx 0 0 384 10  xfs_dquot 0 0 504 7  xfs_buf 91425 213300 384 10  fstrm_item 0 0 24 144  xfs_mru_cache_elem 0 0 32 112  xfs_ili 7564110 8351947 224 17  xfs_Linux/1672.html‘ target=’_blank‘》inode 7564205 8484180 1024 4  xfs_efi_item 257 390 400 10  xfs_efd_item 237 380 400 10  xfs_buf_item 1795 2414 232 17  xfs_log_item_desc 830 1456 32 112  xfs_trans 377 490 280 14  xfs_ifork 0 0 64 59  xfs_da_state 0 0 488 8  xfs_btree_cur 342 437 208 19  xfs_bmap_free_item 89 288 24 144  xfs_log_ticket 717 966 184 21  xfs_ioend 726 896 120 32  rbd_segment_name 109 148 104 37  rbd_obj_request 1054 1452 176 22  rbd_img_request 1037 1472 120 32  ceph_osd_request 548 693 872 9  ceph_msg_data 1041 1540 48 77  ceph_msg 1197 1632 232 17  nfsd_drc 19323 33456 112 34  nfsd4_delegations 0 0 368 10  nfsd4_stateids 855 1024 120 32  nfsd4_files 802 1050 128 30  nfsd4_lockowners 0 0 384 10  nfsd4_openowners 15 50 392 10  rpc_inode_cache 27 30 640 6  rpc_buffers 8 8 2048 2  rpc_tasks 8 15 256 15  fib6_nodes 22 59 64 59  pte_list_desc 0 0 32 112  ext4_groupinfo_4k 722 756 136 28  ext4_inode_cache 3362 3728 968 4  ext4_xattr 0 0 88 44  ext4_free_data 0 0 64 59  ext4_allocation_context 0 0 136 28  ext4_prealloc_space 42 74 104 37  ext4_system_zone 0 0 40 92  Cache Num Total Size Pages  ext4_io_end 0 0 64 59  ext4_extent_status 1615 5704 40 92  jbd2_transaction_s 30 30 256 15  jbd2_inode 254 539 48 77  。。。。。。。。  发现这两项值很高: xfs_ili xfs_inode 占用了大量的内存。       好啦,以上就是华军小编带给大家的全部内容了,是不是很简单呢?你学会了么?想了解更多的相关内容,请随时关注华军资讯动态吧,欢迎到华军来下载哦!

Linux内存耗尽原因分析