AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 9542
In Process
user1855
user1855
Asked: 2009-05-19 09:11:28 +0800 CST2009-05-19 09:11:28 +0800 CST 2009-05-19 09:11:28 +0800 CST

Solaris Unix 系统交换和阻塞进程

  • 772

一些用户抱怨全新服务器的性能不佳。这台机器上唯一运行的是 Oracle 10.2。

乍一看一切正常:负载很小,日志中没有任何内容。我唯一能找到的是 vmstat 抱怨大量的交换和阻塞进程。我应该从哪里开始解决这个问题?

# vmstat -S 5 5
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  si  so pi po fr de sr rm s0 s1 s2   in   sy   cs us sy id
 0 0 0 12420128 16679384 0 0 672 809 809 0 0 -0 2 2 -0  875  572  652  0  0 100
 0 7 0 1926560 5871472 0  0 4396 11463 11463 0 0 0 0 0 0 1796 662 1731 0  0 100
 0 2 0 1925984 5934624 0  0 19058 13657 13657 0 0 0 0 0 0 4877 1336 6145 0 1 99
 0 3 0 1925984 6126144 0  0 12691 13821 13821 0 0 0 0 0 0 3708 1055 4537 0 1 99
 0 5 0 1925984 6093776 0  0 6033 15628 15628 0 0 0 0 0 0 2215 745 2386 0  0 100
solaris unix memory oracle swap
  • 5 5 个回答
  • 7004 Views

5 个回答

  • Voted
  1. carlito
    2009-05-27T13:38:12+08:002009-05-27T13:38:12+08:00

    抱歉,您的 vmstat 输出并没有真正显示任何交换。首先,Solaris 对“交换”的定义是当整个进程由于极大的内存压力而被换出时。这些是您的 0 si 等列。除了最病态负载的系统之外,您不应该真正看到这一点。pi 和 po 列可以显示“分页”活动。在其他系统上通常称为“交换”的活动在 Solaris 术语中称为“分页”。但是您需要运行“vmstat -p”来查看 api/apo(匿名页面输入和匿名页面输出)编号——这就是人们通常所说的“交换”。pi/po 列包括本质上是正常的文件系统活动。(例如内存映射IO)。

    要识别有问题的设备,iostat 将帮助您。类似“iostat -dxzn 1”的东西。您可能会看到一些 100% 繁忙的设备,因为您在磁盘 IO(vmstat b 列)上阻塞了进程。

    • 3
  2. jharley
    2009-05-26T11:42:23+08:002009-05-26T11:42:23+08:00

    我太新手了,无法添加评论,所以我会“回答”......

    尝试运行“iostat -xcn 1”来查看您的热块设备是什么。您是使用原始卷还是格式化?ZFS 或 UFS(我假设这是 Solaris 10 ...)?你的磁盘布局是什么?

    您正在交换一点..您是否调整了信号量等?使用项目或 /etc/system(再次假设 Solaris 10..)?

    • 1
  3. slovon
    2009-05-30T20:12:33+08:002009-05-30T20:12:33+08:00

    我通常会从用户那里获得更多细节。究竟是什么运行不快?即使你找回“一切”,也要试着找出至少一个特定的案例、交易、工作……一些可以继续追踪和追踪的东西。

    然后通过Oracle跟踪它(例如跟踪10046,如果它不是太复杂),检查使用了哪些服务器资源(哪些表,在哪些磁盘上......),找出时间花费在哪里,......

    根据我的经验,当我看到 100% 繁忙的磁盘时iostat -znx 3,要么是 oracle 配置错误,要么是执行全表扫描等的非最佳执行计划。

    另一种方法是查看繁忙磁盘上的数据(表空间或重做或什么?),然后寻找 IO 昂贵的事务或长操作或其他东西。

    顺便说一句 - 当您移至新服务器时,您是否重新计算了统计数据等?Oracle 的动态优化器在两种意义上都是一个婊子。

    • 1
  4. f4nt
    2009-05-22T22:11:43+08:002009-05-22T22:11:43+08:00

    好吧,如果你正在交换,你通常会增加 IO 等待,这将导致行为迟缓。一般是什么负载?负载可能会“感觉”不同,具体取决于导致它的原因。由于 CPU 利用率高导致的负载峰值会影响性能,但如果 IO 等待很重,15 的负载感觉就像 1000。

    • 0
  5. Dave Cheney
    2009-05-27T07:40:55+08:002009-05-27T07:40:55+08:00

    仔细查看您发布的数字,显示交换了 0 个页面。即使-S您的机器正在交换,您也不应该在这些列中看到 0。

    我敢打赌,您的机器正在执行 Memory Mapped IO,它具有类似的分页特性,但并不表示抖动。

    我目前无法访问 Solaris 机器,因此我将其基于vmstat(1) 的手册页副本

    • 0

相关问题

  • 如何最好地优化 Oracle 数据库的写入?

  • AD 世界中的 Solaris 10 身份验证

  • 从 SQL Server 回收内存

  • 笔记本电脑 - RAM 与磁盘的性能

  • 更改 PHP 的默认配置设置?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve