我的可用内存在哪里?(Solaris 10)

我的可用内存在哪里?(Solaris 10)

我有一个默认的 Solaris 10 安装,运行在 64GB 的机器上。出于某种原因,并非所有内存都可用。我之所以对此感到困扰,是因为我试图让 mysql 在那里运行,并给它 58GB 或更多的 RAM,但我可以映射的最大内存是 45GB(nmap 失败)。

除了 GUI(我们很快就会删除它)之外,什么都没有运行。但是 UI 无法解释 13 GB 内存不知从何而来。

如果 ARC 是 Solaris 中使用的内存的一部分(与 Linux 中的文件缓存相反),则 UI 会消耗 5GB,而我们仍然应该为 MySQL 提供至少 55GB 的 RAM。但是:如果此内存被 ARC 消耗,则当 innodb 尝试 nmap 内存时(或者确实会这样做?),它应该放弃内存,因此这毫无意义。

我如何才能知道是什么消耗了这块内存,并释放它?

一些技术数据:

#kstat -m zfs | grep 大小
    数据大小 7847447040
    hdr_大小 139495272
    l2_hdr_size 0
    l2_大小 0
    其他尺寸 510852000
    尺寸 8497794312

# 顶部
96 个进程:95 个处于休眠状态,1 个在 CPU 上
CPU 状态:99.9%空闲,0.0%用户,0.1%内核,0.0%iowait,0.0%交换
内存:64G 物理内存、51G 可用内存、2048M 交换、2048M 可用交换

   PID 用户名 LWP PRI NICE 大小 RES 状态 时间 CPU 命令
  1529 根 1 59 0 67M 10M 睡眠 11:17 0.20% mix_applet2
   902 root 1 59 0 12M 9848K 睡眠 4:33 0.08%gconfd-2
  1923 root 34 59 0 165M 57M 睡眠 3:50 0.06%java
  1525 root 1 59 0 69M 13M 睡眠 3:24 0.06% gnome-netstatus
   644 根 1 58 0 45M 29M 睡眠 2:38 0.05% Xorg
  1501 root 1 59 0 73M 18M 睡眠 2:16 0.04% gnome-panel
 19814 根 1 59 0 3268K 1820K cpu 0:00 0.03% 顶部
  2416 根 47 59 0 87M 68M 睡眠 2:08 0.03%java
 22587 无访问 18 59 0 131M 115M 睡眠 2:13 0.03% java
   744 无访问 18 59 0 132M 115M 睡眠 2:13 0.03% java
   908 根 1 59 0 6608K 4020K 睡眠 0:09 0.01% xscreensaver
  2435 root 2 49 0 73M 14M 睡眠 0:18 0.01% gnome-terminal
  2497 根 23 59 0 11M 7384K 睡眠 0:04 0.01% nscd
 22367 根 1 59 0 9832K 6636K 睡眠 0:01 0.00% snmpd
 15253 root 1 59 0 6516K 3840K 睡眠 0:00 0.00% sshd

# prtdiag -v
系统配置:Dell Inc. PowerEdge R710
BIOS 配置:Dell Inc. 2.2.10 11/09/2010
BMC 配置:IPMI 2.0(KCS:键盘控制器样式)

==== 处理器插槽 =======================================

版本 位置 标签
-------------------------------- --------------------------
英特尔(R) 至强(R) CPU X5670 @ 2.93GHz CPU1
英特尔(R) 至强(R) CPU X5670 @ 2.93GHz CPU2

==== 存储设备插座 ===================================

类型 状态 设置 设备定位器 银行定位器
------- ------ --- ------------------- --------------------
未知正在使用 1 DIMM_A1             
未知正在使用 1 DIMM_A2             
未知空 2 DIMM_A3             
未知正在使用 2 DIMM_A4             
未知正在使用 3 DIMM_A5             
未知空 3 DIMM_A6             
未知空 4 DIMM_A7             
未知空 4 DIMM_A8             
未知空 5 DIMM_A9             
未知正在使用 5 DIMM_B1             
未知正在使用 6 DIMM_B2             
未知空 6 DIMM_B3             
未知正在使用 4 DIMM_B4             
未知正在使用 5 DIMM_B5             
未知空 6 DIMM_B6             
未知空 4 DIMM_B7             
未知空 5 DIMM_B8             
未知空 6 DIMM_B9             

==== 板载设备 =======================================
嵌入式 Matrox G200 视频
嵌入式 Broadcom 5709C NIC 1
嵌入式 Broadcom 5709C 网卡 2
嵌入式 Broadcom 5709C NIC 3
嵌入式 Broadcom 5709C 网卡 4
集成 RAID 控制器

==== 可升级插槽 =======================================

ID 状态类型描述
--- --------- ---------------- ----------------------------
1 个可用 未知 PCI1
2 可用 未知 PCI2
3 正在使用 未知 PCI3
4 可用 未知 PCI4

#prstat -a
   PID 用户名 大小 RSS 状态 优先级 时间 CPU 进程/NLWP       
 21369 根 3888K 3036K cpu10 59 0 0:00:00 0.0% prstat/1
  1529 根 67M 10M 睡眠 59 0 0:11:22 0.0% mix_applet2/1
 21234 100 45G 3686M 睡眠 59 0 0:00:17 0.0%mysqld/25
   902 根 12M 9848K 睡眠 59 0 0:04:35 0.0% gconfd-2/1
   644 根 45M 29M 睡眠 59 0 0:02:39 0.0%Xorg/1
   642 根 2560K 764K 睡眠 59 0 0:00:00 0.0% fbconsole/1
   640 根 5704K 1408K 睡眠 59 0 0:00:00 0.0% dtlogin/1
   863 根 4872K 1968K 睡眠 59 0 0:00:00 0.0% sdt_shell/1
  2438 根 1432K 832K 睡眠 59 0 0:00:00 0.0% sh/1
  2436 根 2644K 1392K 睡眠 59 0 0:00:00 0.0% gnome-pty-helpe/1
   883 根 1532K 892K 睡眠 59 0 0:00:00 0.0%Xsession2.jds/1
  2435 root 73M 14M 睡眠 49 0 0:00:18 0.0% gnome-terminal/2
   789 根 1568K 940K 睡眠 59 0 0:00:00 0.0%Xsession/1
   783 smmsp 9452K 2120K 睡眠 59 0 0:00:00 0.0% 发送邮件/1
   864 根 3228K 836K 睡眠 59 0 0:00:00 0.0% dsdm/1
   435 根 2064K 940K 睡眠 59 0 0:00:00 0.0% smcboot/1
   436 根 2064K 684K 睡眠 59 0 0:00:00 0.0% smcboot/1
   402 根 1432K 624K 睡眠 59 0 0:00:00 0.0% utmpd/1
   866 根 1456K 840K 睡眠 59 0 0:00:00 0.0% sh/1
   437 根 2064K 684K 睡眠 59 0 0:00:00 0.0% smcboot/1
   407 root 3988K 1936K 睡眠 59 0 0:00:00 0.0% syslogd/11
   630 根 3256K 2260K 睡眠 59 0 0:00:00 0.0% vold/5
  2497 根 11M 7392K 睡眠 59 0 0:00:04 0.0% nscd/23
 22200 根 3876K 1568K 睡眠 59 0 0:00:00 0.0% syslogd/13
   399 根 7996K 3996K 睡眠 59 0 0:00:01 0.0% inetd/4
   415 根 2468K 1372K 睡眠 59 0 0:00:00 0.0% ttymon/1
   404 根 2504K 1276K 睡眠 59 0 0:00:00 0.0% ttymon/1
   295 守护进程 2932K 1432K 睡眠 59 0 0:00:00 0.0% rpcbind/1
   142 根 5452K 2184K 睡眠 59 0 0:00:00 0.0% syseventd/15
   224 根 2824K 1080K 睡眠 59 0 0:00:00 0.0% cron/1
   156 根 4344K 3164K 睡眠 59 0 0:00:00 0.0% picld/9
   387 根 18M 14M 睡眠 59 0 0:00:02 0.0% fmd/19
   152 守护进程 4612K 2684K 睡眠 59 0 0:00:00 0.0% kcfd/4
   397 根 2132K 1040K 睡眠 59 0 0:00:00 0.0% sac/1
 19861 根 5864K 3720K 睡眠 59 0 0:00:00 0.0%zlogin/1
   204 根 2244K 780K 睡眠 59 0 0:00:00 0.0% iscsi 启动器/2
  2498 守护进程 2716K 1676K 睡眠 59 0 0:00:00 0.0% statd/1
   369 根 2528K 1292K 睡眠 59 0 0:00:03 0.0% in.routed/1
    77 根 6148K 3484K 睡眠 59 0 0:00:02 0.0% devfsadm/9
  1923 根 165M 57M 睡眠 59 0 0:03:51 0.0% java/34
   669 根 6600K 2912K 睡眠 59 0 0:00:00 0.0% dtlogin/1
    11 根 12M 11M 睡眠 59 0 0:00:08 0.0% svc.configd/16
 NPROC 用户名 交换 RSS 内存 时间 CPU                             
    91 根 423M 425M 0.6% 0:34:57 0.0%
     1 100 45G 3703M 5.7% 0:00:17 0.0%
     2 无访问 251M 237M 0.4% 0:04:28 0.0%
     2 smmsp 3804K 16M 0.0% 0:00:00 0.0%
    10 守护进程 10M 14M 0.0% 0:00:00 0.0%

# 回显 ::memstat | mdb -k
页面摘要 页数 MB %Tot
------------ ---------------- ---------------- ----
内核 646470 2525 4%
ZFS 文件数据 1920208 7500 11%
匿名 1078294 4212 6%
执行和库 14431 56 0%
页面缓存 2544 9 0%
可用(缓存列表)13012 50 0%
免费(免费列表) 13096905 51159 78%

总计 16771864 65515
实物 16324293 63766

答案1

能否粘贴以下内容

prtdiag -v
prstat -a

答案2

根据 ::memstat 输出,ZFS 占用了 7.5GB 的物理内存。使用 ZFS 时要小心:它通常过于激进,会导致系统其余部分内存不足。实际上,它根本不会在您希望的时候释放内存。

查看ZFS 最佳实践指南有关如何限制 ARC 大小以缓解此问题的详细信息。

答案3

mysql 可以分配的内存有项目限制吗?

prctl -i project default

或者,不是‘默认’,而是 mysql 运行下的项目?

相关内容