版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何调试 AIX 上的应用程序 -越来越多的用户选择了 IBM 的 RS/6000服务器作为应用程序的运行 平台,并且伴随应用程序复杂度的增加,给系统以及应用程序的性能提出了 进一步的要求。在这里讲解是如何在 AIX 环境中调试系统性能,找出具体的 问题和产生的原因,找到解决的办法,使得应用程序的反应速度加快,以满 足用户的需求。-从性能角度来看,总体上分为:系统整体性能和应用程序个体的性能。 从性能调试的方法来讲大体上是一致的,只是着重 点 和调试 目标 的 不同 。在 系统性能方 面 ,是为了 达 到 最 大的系统 吞吐量 并 减小 反应 时间; 在应用程序 方 面 ,是为了 减小 反应
2、时间 。-性能调试 就 是使得应用程序和系统的 资源 分 配 能 够最佳地符合当前特定 环境。-性能调试的 流 程如 下 :首先判断 CPU 是 否 是 瓶颈 ,如 果 CPU 是 瓶颈则 调试系统 或 应用程序的 参 数 ,增 强 CPU ;第二判断内存 是 否 是 瓶颈 , 调 节 系统和应用程序 关于内存 的 参数 , 使 内存 的 使用 达 到 最佳;第三判断磁盘 的 输入 /输 出是 否 是 瓶颈 ,调 节磁盘 的使用 状态 及 参数 , 减少 输入 /输 出 时间;第四判断网络 是 否 是 瓶颈 , 调 节网络 环境 或 应用程序 访 问方 式 , 增加 网络吞吐 量或减小网络压力
3、;第五附 加的 测 试 跟踪 ,使用 附 加 工 具生 成 分 析报表 。-这里 开始对每 一个步 骤 进一步的 阐述 。-对 于 每 一 个 进 程 来 讲 , 它 们 都 有 进 程 优 先 级 , 计 算 公 式 为 : PRI=NICE+40+CPU_ PENALTY,从 公式 中 可 以看到 基本 上用户进程的 优先级 是大 于 40的。 可 以使用 “ ps -l” 和 “ ps -emo THREAD” 命 令 分 别查 寻 进程和 线 程的 CPU 使用 状态 。使用 “ nice -n proname” 和 “ renice +n proid ” 来 修改 进程的 优先级 。
4、-对 CPU 的整体调试 过 程 可 以总 结 如 下 :首先 使用 “ iostat ” 、 “ vmstat ” 和 “ sar ” 命 令查 看是 否 CPU 有瓶颈 ,以 及使用 状态;使用 “ ps ” 命 令查 看 哪条 进程 占 用大 量 CPU 时间;使用 “ prof ” 、 “ gprof ” 和 “ tprof ” 命 令查 看 特定 的应用程序中 哪些 或 哪 一 条语句占 用 CPU 过长 ;-改 应用程序 代码 , 优 化 程序, 对于 十 分 消耗 CPU 资源 的 数 学 算 法调用要 使用 AIX 系统提 供 的 函 数 库 BLAS/ESSL中的 数 学 算
5、 法,这 些 算 法 函 数 要 比 程序 员自己 开 发 的 函 数节 省 系统 资源 。-此外 ,在 编译 可 执 行 文件 时 ,使用 优 化 参数对 程序进行进一步 优 化 。 -对于 CPU 的 消耗 在 很 多 情况 下 是 由 应用程序 引起 的,在应用程序 优 化完 成 以 后 , 如 果 CPU 依然没 有 很 大的 改善 , 这 就 需要 对 CPU 直接 进行 升 级 了, 要 么 就 增加 CPU 的个 数 。这里 还 有 两 个 命 令 在应用程序调试 时 十 分 有 用:“ time ” 和 “ timex ” 。 这 两 个 命 令 可 以 检 测 出 某 个应用
6、程序从 开始 到 结束 总 共花费 的 时间 , “ time ” 返回 分 钟 数 和 秒 数 , “ timex ” 返回 总 共 的 秒 数 。 -在 判断 和调试系统 内存 之 前 , 首先 要了解 内存访 问的 概念 。 内存 在大多 数 情况 下 指虚拟 内存 , 其 中 包括实 内存 (Real Memory 和 磁盘 上的 虚拟空 间 (Paging Space 。 值 得 注意 的是在 AIX 系统中, 实 内存 的 输入 /输 出 不 仅 在 磁盘 虚拟空 间 之 间 产生, 而 且 包括另外两种形 式 :固 定数 据文件 (Persistent Segment 和 远 程
7、 数 据文件 (Client Segment 。 为了 减 少磁盘 的 寻址 时间 , 磁盘 虚拟空 间 往往采 用 连 续 的 存 储 空 间 。-检 测 系统 内存 的使用 情况 主 要使用 命 令 “ vmstat ” , 此 命 令 可 以 查 看到 活 动 的 虚拟空 间 和 剩余 的 实 内存 、 内存 页 的 输入 /输 出 状态 和 CPU 是 否有输入 /输 出 空 闲 。在分 析 统 计 调试 结 果时 ,一 定 要 注意 上 面 提到的 实 内存输入 /输 出 的 三 种 途径 。-使用 “ ps au” 命 令 可 以 查 看 每 条 进程的 内存 占 有 情况 , 数
8、 据 是以 百 分 比 的 方 式 显示 。-还 有 一个 命 令十 分 有 用, “ svmon ” ,这个 命 令 帮助 调试 者 进一步 取 得 有关 进程使用 内存 的 信息 , 它可 以生 成当前 使用 内存最 多的进程 状态报表 。 SVMON 命 令 和 VMSTAT 命 令 可 以 配合 使用, 它们 的 返回结 果有 一 部 分是 相互 重 叠 的, 由此 也 可 以 验证 进程使用 内存状态 的 真 实 性。 另外 , SVMON 命 令还 可 以分 析 出来 指 定 进程在使用 内存 方 面 的 细 节 , 究竟 是 哪些 程序 片 占 用了 哪些 内存 , 参数 是 “
9、 -P ” 。-命 令 “ vmtune ” 用来 修改 操 作系统 与 内存 使用 相 关 的系统 参数 。 通 过修 改 内存 系统 参数可 以 改 变 系统 对内存 使用的方 式 以及分 配 原 则 ,从 而 调 节内存 的 输入 /输 出。-在 内存 的使用中 有 一个 现象称 为 “ Thrashing ” , 即 内存 使用产生 抖动 现象 ,为了满足 某些 进程的 执 行, 不断地对内存 进行 输入 /输 出, 当 系统 发 现 将 要产生这 种 现象 时 , 就 会暂停 某些 进程使 内存 抖动现象 不 再 发 生。 抖动现 象会影响 某些 进程的反应速度,要 尽 量 避免 内
10、存 抖动 的产生。 内存 抖动 是 由 磁盘 虚拟空 间 分 配 冲突造 成 的, 磁盘 虚拟空 间对 应用程序进程来讲 不够 大。 -在 磁盘 的 读写 方 面 是 与 AIX 操 作系统的 磁盘 管理相 关 的。 AIX 操 作系 统的 磁盘 管理 分为 四 个 层次 :-文件 /目 录 、 文件 系统 、 逻辑卷 和 物理卷 。 访 问 磁盘 的 适 配 器 目前基本 上 有四 类 :SCSI-1、 SCSI-2、 SSA 和 HIPPI 。 它们 的 访 问 吞吐量 是从 低 到 高 。 数 据 存 放 在 磁盘 分 区 的 不同 也会影响 访 问速度,总的来 说 , 存 放 在 磁盘
11、 中 心 最 快,从中 心向 两 侧 访 问速度 逐渐降低 (寻址 时间 会 加 长 。这里 有五 个 系统 参数 在 定 义逻辑卷 的 时 候 可 供 选择:“ Inner Edge” 、 “ Inner Middle” 、 “ Center ” 、 “ Outer Middle ” 和 “ Outer Edge ” 。使用 “ iostat ” 命 令 可 以 查 看 每 一 块 磁盘 使用 情况 ,如 果 是多 块 磁盘 , 可 以 检 测 到 磁盘资源 是 否 平 均 利 用, 磁盘输入 /输 出 等待 的 百 分 比 和整个 磁盘 的 吞吐量 等 。 还 有 一 条 命 令 “ fi
12、lemon ” ,这 条 命 令 可 以 收集 到 各 个 层 面 的 访 问 信息 , 包括文件 系统 、虚 拟 内存 和 物理 磁盘 。-此 命 令 将收集 到的 信息 输 出到一个 文件 中,在 信息 文件 中 可 以 查 询 到 逻 辑卷 的 输入 /输 出 量 , 访 问的 文件 名 , 读 /写 的 块 数 、其 中 顺 序 读 /写 的 块 数 分 别 是多 少 , 磁盘 寻址 所 占 整个 时间 的 百 分 比 。使用 命 令 “ lslv ” 和 “ lslv -l ” 可 以 查 到 指 定 的 逻辑卷所 存 放 的 物理 磁盘 位置 ,以及 实 际 的 命 中 率 。 当
13、 发 现 磁盘 读写 量 较 大, CPU 的 输入 /输 出 等待 较 多, 但 磁盘 的使用 比 较 均 衡 ,这 时 就 需要提 高适 配 器的性能,增加 适 配 器的 吞吐量 , 可 以增加 磁盘 适 配 器个 数 或 者高 一 级 的 适 配 器。-可 以使用 “ vmtune ” 命 令 调 高与逻辑卷相 关 的 参数 “ hd_pbuf_cnt” , 当 使用 命 令 “ filemon ” 命 令发 现 磁盘输入 /输 出大 部 分是 顺 序 读写 的 时 候 ,调 高 参数 “ hd_pbuf_cnt” 值 会 改善 系统性能。-上 面 讲到的调试方法大 都 直接 与物理 设
14、备 有关 , 下面 来 介绍 以 下 如何调 节 文件 系统的性能。 文件 系统的 访 问 包括 逻辑 文件 系统 、 虚拟 磁盘 空 间 管理 、 裸设备 读写 和 逻辑卷管理 ,并且系统 对于 单 个 文件 的 访 问 也 根 据文件 的大 小 分为 三 种 访 问 机制 :小于 32K 的 文件直接 访 问 、 大 于 32K 且 小于 4M 的 文 件 通 过 一 层 索 引 块 寻址、 大 于 4M 的 文件 通 过两 层 索 引 块 寻址 。 另外 ,在性 能调试 时 应 该考虑 文件 存 放 的 物理位置 是 否 是 连 续 的 (有 几 个 断点 和 该 文 件空 间 与 文件
15、 存 放所 占 用的 连 续物理 空 间 的 比 例 ,这 两 个因 素 都 会影响 文件 访 问 时 的 寻址 时间 。 可 以使用 “ fileplace ” 命 令 统 计 出 指 定 文件 的这 两 个 数 值 。 第 一个 参 考 值 为 “ seqentiality ” , 其 计算 方 式 为 (文件 总的 块 数 -中 断 次 数 /文件 总的 块 数;第二 个 参 考 值 为 “ space efficiency” , 其 计算 方 式 为 (文件 总的 块 数 /文件 存 放 占 用 区 域 的 连 续块 数 。 两 个 值 都 是越大越 好 。 在 AIX 系统中 存 在
16、一个 文件 系统 日志 , 名 为 “ JFS Log ” ; 这个 文件 日志 同 样 会 抢 占 磁盘 的 输入 /输 出,这个 文件 日志 应 该 与 使用的 文件 系统 处 于不同 的 物理 磁盘 上。-对于有 的应用程序 可 以 利 用 AIX 操 作系统提 供 的 裸设备 (Row Device 存 储 方 式 , 例 如 UDB 关 系 型 数 据库 系统 可 以 将 自 身 的 表 空 间(Tablespace)和数据库日志存放在裸设备上,这样就提高了数据存取的 速度。 -当发现文件系统中文件出现过多的断点时,可以对文件系统进行重整。 此 项 工 作 可 以 通 过 系 统 提
17、 供 的 “smit” 工 具 完 成 , 也 可 以 调 用 命 令 “defragfs”。但为了安全起见,在进行这项工作之前要确保已经对当前的文 件系统做了备份,最好有两份。这里还要提到两个参数:“numfsbufs”和 “lvm_bufcnt”,如果应用程序有大量向高速输入/输出端口的写操作,调高 这两个参数会提高应用程序的访问速度。参数“lvm_bufcnt”只对向裸设备 的输入/输出操作起作用。 -网络性能和网络构架有直接关系,主要取决与网络每秒的传输速率。有 两个命令可以查看网络当前使用的状态, 它们是: “netstat”和“netpmon”。 这两个命令分别可以看到不同的网络使
18、用信息,其中“netpmon”可以查看 到非常细致的网络上的传输使用状态。 对网络的调试命令有下列三种: “no”、 “chdev”和“ifconfig”,通过这三个调试命令调试网络相关参数,提高网络 传输性能。 -在某些应用程序中会对远程数据文件直接访问, 这就用到了 NFS 服务。 查看 NFS 的使用状态可以使用命令:“nfsstat”。有几个参数会直接影响 NFS 的访问速度,“nfsd daemons”的个数、虚拟磁盘空间为文件分派的 大小、传输和接受队列的大小、参数“nfs_socketsize”和“sb_max”以及 是否使用“Access Control Lists”。虽然网络在特定的环境下,同样是可 以将性能调高的,但这里还是建议使用者将经常访问的数据文件从远程复制 到本地进行读写。 -在 AIX 操作系统中,系统提供了几个性能跟踪的程序:“trace”、 “trcrpt” 和 一 系 列 图 形 工 具 。 图 形 工 具 包 括 : “PDT” 、 “perf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年云南农业职业技术学院单招职业技能考试题库附参考答案详解(完整版)
- 2026年九江职业技术学院单招职业倾向性测试题库带答案详解(完整版)
- 2026年云南现代职业技术学院单招职业技能测试题库含答案详解(达标题)
- 2026年云南省大理白族自治州单招职业适应性考试题库带答案详解(能力提升)
- 2026年云南省保山地区单招职业适应性考试题库含答案详解(研优卷)
- 2026年上海应用技术大学单招职业适应性考试题库带答案详解(完整版)
- 2026年云南国防工业职业技术学院单招职业倾向性测试题库含答案详解(突破训练)
- 2026年云南外事外语职业学院单招职业适应性测试题库附参考答案详解(预热题)
- 2026年上海第二工业大学单招职业适应性考试题库及完整答案详解一套
- 2026年中国计量大学单招职业技能考试题库附答案详解(能力提升)
- 消火栓安全培训知识课件
- DRG支付改革对医院运营的影响及应对
- 熔盐储热材料研发-洞察与解读
- 人教版7到9年级单词表打印版
- 2025年高压电工复审完整题库(附答案)
- 基因组学与基因表达数据分析-洞察阐释
- 2025年湖北高考真题化学试题(原卷版)
- 农村土地整改合同范本
- 呼吸衰竭的早期识别和紧急处理方法
- 中华姓氏大辞典
- 密闭式静脉输血技术操作规范
评论
0/150
提交评论