我需要一本 OpenSolaris/Solaris 书籍或文档推荐,性能/内部相关

我需要一本 OpenSolaris/Solaris 书籍或文档推荐,性能/内部相关

有人能推荐一本好书或一套文档来专门介绍 OpenSolaris 或 Solaris 内部正在做什么吗?我正在阅读发帖后看到一条评论说

“在 Solaris 上,情况更加复杂。交换文件镜像在 tmpfs 等 RAM 磁盘中,因此内存总是几乎满了 - 但显然可以证明这是最佳策略。 – mgb 6 ​​月 25 日 19:40”

有人可以证实这一点吗?

然后我检查了我的 OpenSolaris 文件服务器并看到了以下内容:

load averages:  0.05,  0.04,  0.04;               up 6+15:41:36        09:48:02
118 processes: 117 sleeping, 1 on cpu
CPU states: 99.4% idle,  0.1% user,  0.4% kernel,  0.0% iowait,  0.0% swap
Kernel: 1025 ctxsw, 6 trap, 1120 intr, 916 syscall
Memory: 16G phys mem, 3816M free mem, 8143M total swap, 8143M free swap

此服务器目前无任何操作。为什么交换空间完全为空?此文件系统在哪里?

基本上,我想更多地了解 OpenSolaris 如何管理内存,以及整个操作系统的复杂之处。

谢谢!马特。

答案1

来自 tmpfs 手册页“ tmpfs 是一个基于内存的文件系统,它使用与 VM 系统和页面缓存相关的内核资源作为文件系统。”

/tmp 位于 RAM/交换空间中。如果您对 /tmp 的权限足够高,您将收到交换空间不足错误。您可以通过在 /etc/vfstab 中的选项字段中设置大小来防止这种情况:例如 size=1024m

有关 Solaris 内部结构的标准书籍是 Rich Teer 的: http://www.solarisinternals.com/wiki/index.php/Solaris_Internals

我猜你没有使用任何交换,因为你没有对机器进行任何 I/O 或内存密集型操作,而且你有大量的物理内存。

答案2

Solaris 内部:Solaris 10 和 OpenSolaris 内核架构(第二版)

作者还拥有一个网站/维基百科,其中包含更多信息solarisinternals.com

答案3

“内存总是快满了”的说法是不正确的,至少脱离了上下文。事实是,Solaris 会尝试使用其认为有用的尽可能多的内存(读取 RAM)。未使用的内存无论如何都是浪费的内存。

Tmpfs 与 RAM 使用情况仅无直接关系,因为它由虚拟内存支持。如果您想知道 RAM 使用情况,请运行以下命令:

echo ::memstat | mdb -k

如果你想知道虚拟内存和交换使用情况,请运行

swap -l
swap -s

您当前没有使用交换,因为与内存相关的所有内容都适合 RAM。

答案4

您可能需要检查Solaris 性能和工具书。

相关内容