系统管理指南:高级管理

第 11 章 管理系统性能(概述)

从计算机或网络中获取良好性能是系统管理的重要部分。本章概述与管理计算机系统的性能有关的一些因素。

以下是本章中概述信息的列表。

管理系统性能方面的新增功能

本节介绍 Oracle Solaris 发行版在管理系统性能方面新增或更改的功能。有关新增功能的完整列表以及 Oracle Solaris 发行版的说明,请参见《Oracle Solaris 10 9/10 新增功能》

增强的 pfiles 工具

Oracle Solaris 10:/proc 文件系统已得到增强,目前在 /proc/pic/path 目录中包含文件名信息。pfiles 使用此信息显示进程中每个文件的文件名。这一更改使用户能以全新的方式洞察进程的行为。有关更多信息,请参见如何显示有关进程的信息proc(1) 手册页。

CPU 性能计数器

Oracle Solaris 10:CPU 性能计数器 (CPU Performance Counter, CPC) 系统进行了更新,从而能够更好地访问运行 Oracle Solaris OS 的 SPARC 和 x86 平台中提供的性能分析功能。

CPC 命令 cpustatcputrack 增强了用于指定 CPU 信息的命令行语法。例如,在以前的 Oracle Solaris OS 版本中,您需要指定两个计数器。现在,这两个命令的配置都允许您仅指定一个计数器,如以下示例中所示:


# cputrack -c pic0=Cycle_cnt ls -d .
time lwp      event      pic0      pic1
.
0.034   1       exit    841167 

对于简单的测量,您甚至可以省略计数器配置,如以下示例中所示:


# cputrack -c Cycle_cnt ls -d .
   time lwp      event      pic0      pic1
  .
  0.016   1       exit    850736 

有关使用 cpustat 命令的更多信息,请参见 cpustat(1M) 手册页。有关使用 cputrack 命令的更多信息,请参见 cputrack(1) 手册页。

有关系统性能任务的参考信息

系统性能任务 

更多信息 

管理进程 

第 12 章

监视系统性能 

第 13 章

更改可调参数 

《Oracle Solaris Tunable Parameters Reference Manual 》

管理系统性能任务 

《系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones》中的第 2  章 “项目和任务(概述)”

使用 FX 和 FS 调度程序管理进程 

《系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones》中的第 8  章 “公平份额调度器(概述)”

系统性能和系统资源

计算机系统的性能取决于该系统使用和分配其资源的方式。定期监视系统的性能,以便了解系统在正常情况下的行为。应当明确了解预期情况,并能够在出现问题时进行识别。

下表介绍了影响性能的系统资源。

系统资源 

说明 

中央处理器 (Central processing unit, CPU) 

CPU 通过从内存中提取并执行指令来对指令进行处理。  

输入/输出 (Input/Output, I/O) 设备 

I/O 设备可向计算机传入信息,并可从中传出信息。此类设备可能是终端和键盘、磁盘驱动器或打印机。  

内存 

物理(或主)内存是系统中的随机访问存储器 (Random Access Memory, RAM) 量。  

第 13 章对显示有关系统活动和性能统计信息的工具进行了介绍。

进程和系统性能

下表介绍了与进程相关的术语。

表 11–1 进程术语

术语 

说明 

Process(进程)  

任何系统活动或作业。每次引导系统、执行命令或启动应用程序时,系统都会激活一个或多个进程。 

Lightweight Process, LWP(轻量级进程)  

虚拟 CPU 或执行资源。LWP 由内核预定,以根据其预定类和优先级来使用可用的 CPU 资源。LWP 包括一个内核线程和一个 LWP。内核线程包含必须始终位于内存中的信息。LWP 包含可交换的信息。 

Application thread(应用程序线程)  

具有单独栈的一系列指令,这些指令可在用户的地址空间中独立执行。可在 LWP 顶部复用应用程序线程。 

一个进程可以由多个 LWP 和多个应用程序线程组成。内核预定内核线程结构,该结构是 SunOS 环境中的预定实体。下表介绍了各种进程结构。

表 11–2 进程结构

结构 

说明 

proc

包含与整个进程有关的信息,该信息必须始终位于主内存中 

kthread

包含与 LWP 有关的信息,该信息必须始终位于主内存中 

user

包含可交换的“每进程”信息 

klwp

包含可交换的“每 LWP 进程”信息 

下图显示了这些进程结构之间的关系。

图 11–1 进程结构之间的关系

表中前面的文本介绍了该图形。

进程中的所有线程都可以访问大多数进程资源。几乎所有进程虚拟内存都是共享的。一个线程对共享数据的更改可供进程中的其他线程使用。

关于监视系统性能

计算机运行时,操作系统中的计数器会增加,以跟踪各种系统活动。

跟踪的系统活动如下所示:

监视工具

Oracle Solaris 软件提供了多种工具,以帮助您跟踪系统的执行情况。下表介绍了这些工具。

表 11–3 性能监视工具

命令 

说明 

更多信息 

cpustatcputrack 命令

使用 CPU 性能计数器监视系统或进程的性能。 

cpustat(1M)cputrack(1)

netstatnfsstat 命令

显示有关网络性能的信息。 

netstat(1M)nfsstat(1M)

psprstat 命令

显示有关活动进程的信息。 

第 12 章

sarsadc 命令

收集并报告系统活动数据。 

第 13 章

Sun Enterprise SyMON 

收集有关 Sun 的企业级系统的系统活动数据。 

Sun Enterprise SyMON 2.0.1 Software User's Guide

swap 命令

显示有关系统中的可用交换空间的信息。 

《系统管理指南:设备和文件系统》中的第 21  章 “配置其他交换空间(任务)”

vmstatiostat 命令

汇总系统活动数据,如虚拟内存统计信息、磁盘使用情况和 CPU 活动。 

第 13 章

cputrackcpustat 命令

协助访问微处理器提供的硬件性能计数器功能。 

cputrack(1)cpustat(1M) 手册页

kstatmpstat 命令

检查系统中可用的内核统计信息或 kstats,并报告与命令行上指定的条件匹配的统计信息。mpstat 命令以表格形式报告处理器统计信息。

kstat(1M)mpstat(1M) 手册页