OneFS:内存利用率

Summary: 本文简要讨论了一般内存类别,说明了哪些内存类别可以被视为可用或“可用”。 提供了有关某些进程和容器可以使用的内存量的指南。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

内存不足可能会导致节点重新启动、进程重新启动和性能问题。本文简要介绍了如何评估节点的可用内存,并参考了一些技术内存准则。在 OneFS 中,内存大致分为五个区域或队列:可用内存、非活动内存、有线内存、活动内存和缓冲区

可用内存
可立即使用,不会分配。
非活动 (Inact) 内存最近未使用,可进行分配。

内存不可用
有线内存正由内核使用,不可用于其他分配。
活动内存最近已被使用,并已分配给用户空间。
缓冲区 (Buf) 内存用于磁盘高速缓存。

计算可用内存
这些内存类别可以从命令顶部看到。
请注意,预计不会看到 Cache 类别,也不会在 Swap 部分中看到任何内容:

# top
last pid: 98143;  load averages:  0.00,  0.02,  0.00                                                                                          
  up 48+04:45:17  16:01:09
643 processes: 1 running, 642 sleeping
CPU:  0.0% user,  0.0% nice,  0.2% system,  0.0% interrupt, 99.8% idle
Mem: 512M Active, 28G Inact, 11G Wired, 12G Buf, 7530M Free
Swap:

如果查看以下位置的输出: vmstat -H,您会看到可用内存页数 (AVM) 和可用内存 (FRE)(以字节为单位)。

# vmstat -H
 procs      memory      page                    disks     faults         cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad4 ad7   in   sy   cs us sy id
 0 14 0 9333548  7713640   863   0   0   0   564  15   0   0  428  903  200  0  0 100


将 AVM 页转换为字节数会显示可用内存(非活动 + 可用):
9333548 x 4096 = 38230212608 bytes
Convert to GB 38230212608/(1024^3)= 35.6 GB Available Memory


如果将 Inact 和 Free 值从 top 在此示例中的输出,您有:
28GB + 7.35GB = 35.35GB

请注意,顶部输出已四舍五入,因此它可能不完全匹配 vmstat

进程特定的内存利用率
虚拟大小或 vsz (SIZE) 是指分配给此进程的内存。
在顶部的手册页中,“SIZE 是进程(文本、数据和堆栈)的总大小”

驻留集大小 (RES) 是指此进程使用的物理内存量。
在顶部的手册页面中,“RES 是驻留内存的当前容量(SIZE 和 RES 均以千字节为单位)”

top 命令,显示使用最多虚拟内存的六个进程:

# top -o size -n 6
last pid: 26745;  load averages:  0.15,  0.20,  0.17  up 3+19:06:14    20:03:26
103 processes: 1 running, 102 sleeping

Mem: 152M Active, 23G Inact, 14G Wired, 12G Buf, 10G Free
Swap:
PID USERNAME       THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
10244 root            15  60 r112   592M   310M kqread  3   6:35   0.00% nfs
 2698 root            11  20    0   585M   125M select  7  34:41   0.00% isi_celog_monitor
 2544 root            26  60 r112   506M 70184K kqread  4   0:05   0.00% isi_papi_d
 3217 root             2  26    0   439M 48336K kqread  3   0:13   0.00% isi_celog_capture
 2676 root             2  52    0   399M 41540K kqread  2   1:46   0.00% isi_celog_capture
26740 root             2  20    0   399M 40168K kqread  6   0:00   0.00% isi_celog_capture


每个节点
的 LW 容器内存消耗和打开文件的最大值根据 OneFS 版本,内存有一些已发布的最大值。介绍了每个节点的打开文件以及 LW 容器内的 SMB 和 NFS 等项目。

请参阅 OneFS 技术规范指南

  • LW-容器:第 9~23 页 

在 OneFS 中,三个 lwio 进程容器为每个 SMB、NFS 和 Swift 进程存在一个容器。SMB 容器最多可以占总 RAM 的 20%,但至少为 1 GB,最多为 32 GB。NFS 容器最多可以占总 RAM 的 25%,但至少为 1 GB 至多 8 GB。Swift 容器的大小为 512 MB。

  • 打开文件限制:第 12 页

每个节点的最大打开文件数是 vnodes 在该节点上,如以下公式所示: kern.maxfiles = kern.maxvnodes * 0.9 OneFS 协议守护程序,例如输入/输出守护程序 (lwio),可能会对节点可以打开的文件数施加额外的限制。协议守护程序通常会施加此类限制,因为内核会对每个进程的内存消耗施加限制。

根据最大
值检查内存利用率 查看内存 lsass 进程使用 ps

# ps auwx | egrep "USER|lsass" | grep -v grep
USER     PID %CPU %MEM   VSZ   RSS  TT  STAT STARTED      TIME COMMAND
root   14689  0.0  0.3 162112 20404  ??  I    20Feb17   0:33.30 lw-container lsass (lsass)

检查方式 top 命令执行此操作:

top -n 100 | egrep "SIZE|lsass"
  PID USERNAME       THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
14689 root            26  20    0   158M 20764K ucond   2   0:00  0.00% lsass

Affected Products

PowerScale OneFS

Products

Isilon, PowerScale OneFS
Article Properties
Article Number: 000008837
Article Type: How To
Last Modified: 11 Oct 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.