写点什么

监视 Ruby 程序运行

  • 2007-12-18
  • 本文字数:1227 字

    阅读完需:约 4 分钟

在最近一次对Philippe Hanrigou 的采访中,讨论了关于Ruby 监视和故障分析方面的议题。Philippe Hanrigou 指出,为什么在Ruby 进程中断时,会有内存泄漏或者其他性能问题产生,这对于保持应用良好运行来说是很关键的问题。快速解决问题比认识到问题显得更为重要,特别是当一个业务服务碰到了问题,并且这个问题正在影响业务进程的时候。

相比基础的Unix 工具,例如gdb 或者strace(用于显示程序调用另外一个程序的syscall), DTrace是一个具有潜力并且很有用的工具。DTrace 起初是为 Solaris 开发的工具,允许低负载的对程序进行性能监控和跟踪。后来 DTrace 被迁移到其他操作系统上,最近迁移到了 Mac OS X Leopard,该操作系统中的 DTrace 支持 Ruby 解释器

Philippe 对 Linux 系统给出了一个建议的解决方案,目前 DTrace 不支持 Linux:

对于大多数社区的核心成员来说,值得付出时间和精力来推动 SystemTap 的前进。不幸的是,虽然有许多 Ruby 应用部署在 Linux 上,但 DTrace 并不支持 Linux 平台。由于许可证和其他没有解决的问题,实际上在可以预见的将来,把 DTrace 迁移到 Linux 平台上的可能性十分渺茫。在 Linux 上最接近于 DTrace 的代替者是 SystemTap,SystemTap 与 DTrace 的目的是一样的,然而不像 DTrace 那么成熟。实际上,对于用户空间运行程序的跟踪,SystemTap 仍然没有提供支持。

JRuby上运行 Ruby 应用,使得开发者可以使用在 Java 平台上的那些性能监控监视工具。 Ola Bini 在前些日子的一篇题目为"你的Ruby 可以做这个么"博客文章中提出了这个看法,文中他使用 JConsole(随 JDK 一起发行)来深入查看一个 JRuby 应用的运行情况。JConsole 可以附加在一个运行的 JVM 上 —— 使用 JMX—— 访问例如垃圾收集信息(generation sizes,collection runs 等),以及线程信息和所有其他通过 MBeans 暴露的信息。Philippe 还提到了其他用于处理内存泄漏的工具: > 最终,当发生了内存泄漏时,常用的 Java 工具也可以帮忙解决问题。一个有用的技术是使用 jmap 得到堆信息,然后用 jhat 或者其他标准的 Java 堆信息分析器来检查堆信息。SAP 的内存分析器(SAP Memory Analyzer)也值得一试,Ola 认为这些工具非常有用。

在 InfoQ 站点,最近对SAP 或IBM 的免费的内存分析器进行了一些讨论。 Philippe 最后表示他对 Rubinius很感兴趣:

如果 Ruby 开发者可以容易的访问 Ruby 解释器,从而使用并扩展它的功能,那么最终构建一个 Ruby 的故障分析工具会简单很多。这就是为什么我认为象 Rubinius 这样的项目的成功从长期来看是将整个 Ruby 开发平台提升到一个新的高度的最佳方式。开发社区在 Rubinius 上投入多少时间和精力都是值得的。

查看英文原文 Monitoring Ruby - - - - - -

译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于 Ethos ,热衷于计算机理论与应用技术的钻研,软件架构与敏捷开发,目前从事 consumer product 方面的工作。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-12-18 08:161040
用户头像

发布了 47 篇内容, 共 10.5 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

【等保小知识】等保测评整体测评是什么意思?

行云管家

等保 等级保护 等保测评 等保2.0

DAPP系统开发Web3.0技术实现

薇電13242772558

dapp web3

React-diff原理及应用

xiaofeng

React

前端开发培训机构学习方法

小谷哥

React源码分析6-hooks源码

goClient1992

React

25分钟了解php?php基础

贤鱼很忙

php 10月月更

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

深入分析React-Scheduler原理

xiaofeng

React

参与中国信通院低代码&无代码市场调研问卷,浅抽超丰富奖池!

云智慧AIOps社区

大前端 低代码 数据可视化 无代码 低代码报告

Apache Dolphin Scheduler 3.0.1 发布,对核心及UI相关进行优化

Apache DolphinScheduler

海豚调度 Apache DolphinScheduler 任务调度 版本发布 新版本/特性发布

激活工具带毒,静默安装360、2345系列软件

火绒安全

安全 下载器 病毒 恶意软件

2022年9月国产数据库大事记-墨天轮

墨天轮

数据库 opengauss TiDB 国产数据库 KingBase

Zebec地平线节点运营计划,Web3流支付赛道或多一条全新公链

鳄鱼视界

React生命周期深度完全解读

夏天的味道123

React

React核心技术浅析

夏天的味道123

React

java培训学习怎么选择培训机构

小谷哥

一文详解 | 低代码发展的 “背后推手”

SoFlu软件机器人

【开发者说】一课表,你的智能课业管理工具

HarmonyOS开发者

HarmonyOS

公共数据开放落地细则探讨,企业如何合规取用?

Jessica@数牍

安全隐私 公共数据开放 安全合规

Kubernetes 认证管理员(CKA)必过心得

HummerCloud

云原生 CKA #k8s Kubetnetes kubernetes 运维

前端开发培训机构怎么学

小谷哥

浅谈Vue3组件通信

CoderBin

Vue 前端 10月月更

React源码分析5-commit

goClient1992

React

VoneBaaS团队成功入围第二届中国可信区块链安全攻防大赛决赛

旺链科技

区块链 产业区块链 VoneBaaS BaaS平台

SPL工业智能:原料与产品的拟合

石臻臻的杂货铺

工业智能体 SPL 10月月更

leetcode 236. Lowest Common Ancestor of a Binary Tree 二叉树的最近公共祖先(中等)

okokabcd

LeetCode 数据结构与算法

广州云管平台有哪些?联系方式是什么?

行云管家

云计算 企业上云 云管平台 广州

对在前端培训初学者的几点建议

小谷哥

java培训学习后能高薪就业吗?

小谷哥

React Context源码是怎么实现的呢

flyzz177

React

“超越融合 异筑信创”,AntDB数据库携手超云等生态伙伴共建信创大生态

亚信AntDB数据库

AntDB AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

监视Ruby程序运行_Ruby_Werner Schuster_InfoQ精选文章