るりまサーチ

最速Rubyリファレンスマニュアル検索!
104件ヒット [1-100件を表示] (0.007秒)
トップページ > モジュール:GC::Profiler[x]

ライブラリ

キーワード

検索結果

<< 1 2 > >>

GC::Profiler.clear -> nil (1.0)

蓄積している GC のプロファイル情報をすべて削除します。

...ァイル情報をすべて削除します。

```ruby title="例"
GC::Profiler
.enable
GC.start
GC.start
p GC::Profiler.report # => 2 回分の GC のプロファイル情報出力する。
GC::Profiler
.clear
GC.start
p GC::Profiler.report # => 1 回分の GC のプロファイル情報出力する...

GC::Profiler.disable -> nil (1.0)

GC のプロファイラを停止します。

...tle="例"
GC::Profiler
.disable
p GC::Profiler.enabled? # => false
```

このメソッドでは、蓄積したプロファイル情報は破棄しません。
破棄したい場合は [m:GC::Profiler.clear] を呼び出してください。

- **SEE** [m:GC::Profiler.enable], [m:GC::Profiler.enabled...

GC::Profiler.enable -> nil (1.0)

GC のプロファイラを起動します。

...ラを起動します。

このメソッドを呼び出してから GC が発生すると、
GC についてプロファイル情報を取得します。

```ruby title="例"
GC::Profiler
.enable
p GC::Profiler.enabled? # => true
```

- **SEE** [m:GC::Profiler.disable], [m:GC::Profiler.enabled?]...

GC::Profiler.enabled? -> bool (1.0)

GC のプロファイラを起動中であれば true、停止中であれば false を返します。

...であれば true、停止中であれば false を返します。

```ruby title="例"
p GC::Profiler.enabled? # => false
GC::Profiler
.enable
p GC::Profiler.enabled? # => true
GC::Profiler
.disable
p GC::Profiler.enabled? # => false
```

- **SEE** [m:GC::Profiler.enable], [m:GC::Profiler.disable]...

GC::Profiler.raw_data -> [Hash, ...] | nil (1.0)

GC のプロファイル情報を GC の発生ごとに [c:Hash] の配列 (:GC_INVOKE_TIME が早いもの順)で返します。[c:GC::Profiler] が有効になっていない場合は nil を返します。

...に [c:Hash] の配列
(:GC_INVOKE_TIME が早いもの順)で返します。[c:GC::Profiler] が有効になっていない場合は nil を返します。

```text title="例"
GC::Profiler
.enable
GC.start
GC::Profiler
.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=...
...有効にして Ruby をビルドした場合、以下のキーも参照できます。

- :GC_MARK_TIME
- :GC_SWEEP_TIME
- :ALLOCATE_INCREASE
- :ALLOCATE_LIMIT
- :HEAP_USE_SLOTS
- :HEAP_LIVE_OBJECTS
- :HEAP_FREE_OBJECTS
- :HAVE_FINALIZE

- **SEE** [m:GC::Profiler.report], [m:GC::Profiler.result]...

絞り込み条件を変える

GC::Profiler.report(out = $stdout) -> nil (1.0)

[m:GC::Profiler.result] の結果を out に出力します。

...[m:GC::Profiler.result] の結果を out に出力します。

- **param** `out` -- 結果の出力先を指定します。デフォルトは $stdout です。

```ruby title="例"
GC::Profiler
.enable
GC.start
GC::Profiler
.report

# => GC 4 invokes.
# Index Invoke Time(sec) Use Size(byte)...
...Total Size(byte) Total Object GC Time(ms)
# 1 0.019 303720 1269840 31746 1.25899999999999967493
```

- **SEE** [m:GC::Profiler.result]...

GC::Profiler.result -> String (1.0)

GC のプロファイル情報をフォーマットし、文字列として返します。

...ごとに集計します。
以下は、5 回 GC が発生した場合の実行例です。

```console
$ ruby -e "GC::Profiler.enable; a = Array.new(100000){ 'aa' }; puts GC::Profiler.result"
GC 5 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object...
...が起動するまでに経過した時間
- **`Use Size`**:
ヒープ内での使用サイズ
- **`Total Size`**:
ヒープ全体のサイズ
- **`Total Object`**:
ヒープ内に存在するオブジェクトの個数
- **`GC Time`**:
GC の処理時間

- **SEE** [m:GC::Profiler.report]...

GC::Profiler.total_time -> Float (1.0)

GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。

...GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。

```ruby title="例"
GC::Profiler
.enable
GC.start
p GC::Profiler.total_time # => 0.0011530000000000012
```...
<< 1 2 > >>