Piy*_*too 3 solaris oracle-database swap
$ prstat -t
NPROC USERNAME SWAP RSS MEMORY TIME CPU
164 oracle 5446M 5445M 8.3% 13:47:50 1.6%
52 root 576M 728M 1.1% 42:29:50 1.0%
1 noaccess 300M 273M 0.4% 0:20:54 0.0%
1 smmsp 2192K 9912K 0.0% 0:00:06 0.0%
1 nagios 584K 4256K 0.0% 0:01:54 0.0%
6 daemon 8360K 11M 0.0% 0:12:39 0.0%
Total: 225 processes, 839 lwps, load averages: 1.68, 1.58, 1.46
Run Code Online (Sandbox Code Playgroud)
以上是prstat
已Oracle 11g
安装的Solaris Box 上的命令输出。Solaris 机器上的 RAM 是64GB
oracle 进程似乎正在交换5.5 GB
,这正常吗?感谢您提供有关获取更细粒度信息的任何建议!
prstat
将 SWAP 定义为:
Run Code Online (Sandbox Code Playgroud)SWAP The sum of swap reservations of the associated processes for each user, project, task, or zone. This counts shared memory only once for each user, project, task, or zone. Swap is reserved when anonymous memory is allo- cated or files are mapped private. The value of swap is expressed in kilobytes (K), megabytes (M), or gigabytes (G).
(来自Solaris 10 上的 prstat(1M),参见Open Solaris prstat)
基本上这意味着该值包括当前尚未访问但已映射到进程地址空间的内存。这样的内存可能会在未来使用,因此可能会被换出(即真正写入交换分区)。因此,在创建初始映射时,Solaris prstat 将它们计为 SWAP。
这并不意味着此内存量实际上已写入 SWAP 分区或必须写入其中。
这些交换保留、匿名内存和映射文件是Solaris虚拟内存系统的一部分。
另请注意,您正在使用-t
- 因此您的示例中显示的值不是 oracle 进程之一,而是在 user 下运行的所有进程的聚合值oracle
。
使用某些 Solaris 端口top
提供了更多有用的信息,即 SIZE(或 VMEM)和 RES(或 RSS)值。VMEM 包括所有虚拟内存页面,RSS 是常驻大小。因此,关系 VMEM >= RSS 为真(对于 prstat RSS 可能是 > SWAP,即 RSS 不包括在 SWAP 中)。
如果您关心实际的交换活动,您可以使用类似vmstat
.