OneFS:内存利用率

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

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

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

Produse afectate

PowerScale OneFS

Produse

Isilon, PowerScale OneFS
Proprietăți articol
Article Number: 000008837
Article Type: How To
Ultima modificare: 11 Oct 2025
Version:  7
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.