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) 記憶體用於磁碟快取。

計算可用記憶體
您可以從命令頂部看到這些記憶體類別。
請注意,預期不會看到快取類別,也不會在「交換」區段中看到任何內容:

# 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


如果您從 top 輸出在此範例中,您有:
28GB + 7.35GB = 35.35GB

請注意,頂部輸出已四捨五入,因此可能與來自 vmstat

處理特定記憶體使用率
虛擬大小或 vsz (SIZE) 是指分配給此程序的記憶體。
在頂部的手冊頁面中,「SIZE是進程的總大小(文本、數據和堆棧)」

駐留集大小(RES) 是指此過程使用的物理內存量。
在頂部的手冊頁中,“RES 是當前駐留記憶體量(SIZE 和 RES 均以 KB 為單位)”

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.