本节介绍本发行版中的平台和性能增强功能。这些功能帮助优化基于 SPARC 和 x86 的系统的 Oracle Solaris,从而提高性能,同时为系统提供更好的诊断。
优化的共享内存 (Optimized Shared Memory, OSM) V2 使 Oracle 数据库 12c 实例的系统全局区域 (System Global Area, SGA) 更快启动。对于小型 SGA,Oracle 数据库 12c 实例的启动速度加倍;对于大型 (28TB) SGA,则启动速度快 6.5 倍。对于小型 SGA,Oracle 数据库关闭速度也已提高到接近两倍;对于大型 SGA,则关闭速度快 6 倍。
由于性能原因而锁定其内存的应用程序很可能会通过新的 OSM 实现更短的启动、停止或重新启动时间。它是对早期共享内存机制(如锁定共享内存 (Intimate Shared Memory, ISM) 和动态锁定共享内存 (Dynamic Intimate Shared Memory, DISM))的重大改进。
有关 OSM API 的更多信息,请参见 coreadm(1M)、proc(4) 和 pmap(1) 手册页。
通过动态内核级陷阱跟踪,能够收集有关没有停机时间的系统上陷阱活动的信息。因此,陷阱跟踪可以帮助将停机影响降至最低级别。 通过使用系统管理工具 ttrace,可以动态地启用和禁用跟踪以及根据需要配置跟踪。在 SPARC 和 x86 平台上,此工具都提供了动态内核陷阱跟踪。
有关更多信息,请参见 ttrace(1M) 手册页。
除了从 My Oracle Support 下载 .zip 文件外,Oracle Solaris IPS 支持系统信息库中现在也提供精选 SPARC 系统的平台固件更新。安装或更新固件软件包会向 /var/firmware/server-type 提供文件,但不自动更新服务器的固件。您仍然需要按照自述文件中的说明执行以下手动步骤。
要确定适用于您的平台的固件更新软件包,请使用以下命令:
# pkg list -af 'firmware/system/*'
可以使用 pkg contents 和 pkg info 命令获取适用于您的平台的软件包的更多信息。
例如,firmware/system/T5-4 组软件包安装 firmware/system/T5-4/sysfw9-4、firmware/system/T5-4/hbafw 和 firmware/system/T5-4/hwprogrammables 软件包。pkg info 命令显示 firmware/system/T5-4/sysfw9-5 软件包提供了 9.5.3 版修补程序 22270913。您应按照 /var/firmware/system/T5-4/sysfw9-5/p22270913_953/README.html 中的说明安装固件更新。安装固件软件包后,可以使用 pkg update 命令下载较新的固件更新。
有关 pkg list、pkg contents、pkg info、pkg install 和 pkg update 命令的更多信息,请参见在 Oracle Solaris 11.3 中添加和更新软件。有关固件更新的更多信息,请参见Oracle ILOM 功能更新和发行说明(固件发行版 3.2.x)。
在 SPARC (sun4v) 平台上改进了用于计算和报告时间值的 gethrtime 和 gettimeofday 例程的性能。这些例程的代码进行了重构,更高效,可以提高整体计算性能。
有关更多信息,请参见 gethrtime(3C) 和 gettimeofday(3C) 手册页。
NVIDIA 图形传统驱动程序现在已更新为版本 346.35,并支持更新的 NVIDIA GPU 系列。R340 或 R304 传统驱动程序提供了对早期 NVIDIA 卡的支持。这些驱动程序在系统信息库中作为 driver/graphics/nvidiaR340 和 driver/graphics/nvidiaR304 软件包提供。
要安装 R340 传统驱动程序,请使用以下命令:
$ sudo pkg install --reject driver/graphics/nvidia driver/graphics/nvidiaR340
要安装 R304 传统驱动程序,请使用以下命令:
$ sudo pkg install --reject driver/graphics/nvidia driver/graphics/nvidiaR304
有关传统 GPU 支持的完整列表,请参见 http://www.nvidia.com/object/IO_32667.html。有关更多信息,请参见 /usr/share/doc/NVIDIA/README.txt 文件。
可伸缩的读取/写入锁可加快读取/写入锁的获取速度,尤其是增强较大系统上应用程序的性能。现代系统使用非统一内存访问 (Non-Uniform Memory Access, NUMA) 设计,这会导致处理器的速度和互连到其他处理器的速度之间的不一致性增大。
应用程序性能高度依赖于操作系统将它需要的应用程序和数据放置在同一节点(同一处理器或处理器组)上的程度。可伸缩的读取/写入锁项目分发锁,且可识别 NUMA 以便于放置请求的锁(对使用它的应用程序是本地的)。确保请求的锁对可避免高度延迟节点间通信并可提高应用程序性能的应用程序是本地的。
有关更多信息,请参见 pthread_rwlockattr_setpshared(3C) 和 pthread_rwlock_init(3C) 手册页。
Oracle 验证测试套件 (Oracle Validation Test Suite, Oracle VTS) 是一款综合性硬件诊断工具,可测试和验证 Oracle 平台上大多数控制器和设备的连通性和功能。测试针对的目标是系统中的每个硬件组件或功能。该工具支持三种类型的用户界面 (User Interface, UI):图形 UI (Graphical UI, GUI)、基于终端的 UI 以及命令行界面 (Command-Line Interface, CLI)。
Oracle VTS 7.0 修补程序集 19.2 包括对处理器、电源、磁盘和电源管理诊断的以下重要增强功能:
增加了对 Intel Haswell-EP 18 核心 CPU 的支持
调整了 ramtest 以用于更高的 MCU 带宽和内存电源
改进了 dtlbtest/apat 子网的 VA 生成逻辑
修改了 diskmediatest 以识别 NVMe 设备和新 SAS3 HBA
修改了 diskmediatest 以支持混合的工作负荷
修改了 vtsk 以转储 LT 的数据
有关更多信息,请参见 VTS User Guide(《VTS 用户指南》)。
Oracle Solaris 11.3 现在支持用于收集系统崩溃转储的延迟转储机制。此过程的速度要快得多,在系统重新引导之前将转储保留在内存中,并且可以将转储写入文件系统,完全绕过基于磁盘的任何转储设备。
有关更多信息,请参见 dumpadm(1M) 手册页和在 Oracle Solaris 11.3 中排除系统管理问题。
Oracle Solaris 11.3 包括有益于应用程序的新物理内存分配机制,尤其是系统处于内存压力下时的数据库和 Java 应用程序。这些机制使内核能够减小 ZFS ARC 并释放内核页面,以便它们可以由其他用户进程使用。在正常运行时间很长的系统上启动或重新启动应用程序时,此增强功能尤其重要。
输入输出内存管理单元 (Input output memory management unit, IOMMU) 统计信息支持已添加到 kstat 工具中,可以报告以下统计信息:
成功的和失败的大页面分配的次数
支持的页面大小(如 4k 和 2M)的现有 DMA 映射数
IOTLB 失效次数
绑定和取消绑定 DMA 操作的次数
花费在绑定和取消绑定 DMA 操作上的时间量
活动大页面映射的持续时间
小页面 (4k) 分配次数和使用预分配页面之间的比较
这些统计信息有助于分析性能,确定 DMA 操作对系统的影响以及资源使用情况。当前,x86 平台提供了此增强功能。有关更多信息,请参见 kstat(1M) 手册页。