るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
41件ヒット [1-41件を表示] (0.030秒)

別のキーワード

  1. gc stat
  2. gc latest_gc_info
  3. _builtin latest_gc_info
  4. _builtin gc
  5. gc opts

クラス

モジュール

キーワード

検索結果

GC (115801.0)

GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。

GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御
するモジュールです。


=== GCのチューニングについて

Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。
それにともない、以下の環境変数が導入され、これらを
設定することでGCの動作をチューニングすることができます。
これらの環境変数の効果はRubyの起動時のみ有効です(つまりrubyを動かしている
途中で変更することはできません)。

====[a:tuning_gc] チューニングのための環境変数
* RUBY_GC_HEAP_INIT_SLOTS (de...

GC.latest_gc_info(key) -> object (81523.0)

最新のGCの情報を返します。

最新のGCの情報を返します。

@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。

@param key 得られる情報から特定の情報を取得したい場合にキーを
Symbol で指定します。

//emlist[例][ruby]{
latest = GC.latest_gc_info
latest # => {:major_by=>nil, :gc_by=>:newobj, :ha...

GC.latest_gc_info(result_hash = {}) -> Hash (81523.0)

最新のGCの情報を返します。

最新のGCの情報を返します。

@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。

@param key 得られる情報から特定の情報を取得したい場合にキーを
Symbol で指定します。

//emlist[例][ruby]{
latest = GC.latest_gc_info
latest # => {:major_by=>nil, :gc_by=>:newobj, :ha...

GC.stress=(value) (63259.0)

GCのストレスモードを引数 value に設定します。 引数 value が真に設定されている間は、GC を行えるすべての機会に GC を行います。

GCのストレスモードを引数 value に設定します。
引数 value が真に設定されている間は、GC を行えるすべての機会に GC を行います。

この機能はデバッグ用途に提供されています。ストレスモードを有効にすると
プログラムのパフォーマンスが低下します。

@param value 任意のオブジェクト。整数以外の値を指定した場合は真偽値として解釈されます。
整数を指定する場合は以下のフラグをOR演算した値を指定します。
: 0x01
マイナー GC を動作させる場合に指定します。
: 0x02
sweep を遅らせる(Lazy Sweep を行う)...

GC::OPTS -> [String] (63181.0)

コンパイル時に指定したGCのオプションです。

コンパイル時に指定したGCのオプションです。

可能性があるオプション文字列は以下の通りです。

* "GC_DEBUG"
* "USE_RGENGC"
* "RGENGC_DEBUG"
* "RGENGC_CHECK_MODE"
* "RGENGC_PROFILE"
* "RGENGC_ESTIMATE_OLDMALLOC"
* "GC_PROFILE_MORE_DETAIL"
* "GC_ENABLE_LAZY_SWEEP"
* "CALC_EXACT_MALLOC_SIZE"
* "MALLOC_ALLOCATED_SIZE"
* "MALL...

絞り込み条件を変える

GC#garbage_collect(full_mark: true, immediate_sweep: true) -> nil (63133.0)

ガーベージコレクトを開始します。

ガーベージコレクトを開始します。

GC.start や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。

nil を返します。

@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。

@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そう...

GC.start(full_mark: true, immediate_sweep: true) -> nil (63133.0)

ガーベージコレクトを開始します。

ガーベージコレクトを開始します。

GC#garbage_collect や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。

nil を返します。

@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。

@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
...

GC.stat(key) -> Numeric (63127.0)

GC 内部の統計情報を Hash で返します。

GC 内部の統計情報を Hash で返します。

@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。


@param key 得られる統計情報から特定の情報を取得したい場合にキーを
Symbol で指定します。

@return GC 内部の統計情報をHash で返します。
引数 key を指定した場合は数値を返します。

GC.stat
# =>
...

GC.stat(result_hash = {}) -> {Symbol => Integer} (63127.0)

GC 内部の統計情報を Hash で返します。

GC 内部の統計情報を Hash で返します。

@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。


@param key 得られる統計情報から特定の情報を取得したい場合にキーを
Symbol で指定します。

@return GC 内部の統計情報をHash で返します。
引数 key を指定した場合は数値を返します。

GC.stat
# =>
...

GC.stress -> bool (63109.0)

GCがストレスモードかどうかを返します。

GCがストレスモードかどうかを返します。

真が設定されている場合は GC を行えるすべての機会に GC を行います。

@see GC.stress=

絞り込み条件を変える

GC.enable -> bool (63097.0)

ガーベージコレクトを許可します。

ガーベージコレクトを許可します。

前回の禁止状態を返します(禁止されていたなら true, GC が有効であったなら、
false)。

@see GC.disable

//emlist[例][ruby]{
GC.disable # => false
GC.enable # => true
GC.enable # => false
//}

GC.disable -> bool (63079.0)

ガーベージコレクトを禁止します。

ガーベージコレクトを禁止します。

前回の禁止状態を返します(禁止されていたなら true, GC が有効であったなら、
false)。

//emlist[例][ruby]{
GC.disable # => false
GC.disable # => true
//}

@see GC.enable

GC::INTERNAL_CONSTANTS -> {Symbol => Integer} (63073.0)

GC用内部定数の値を保持するハッシュテーブルです。

GC用内部定数の値を保持するハッシュテーブルです。

GC::INTERNAL_CONSTANTS
# => {:RVALUE_SIZE=>40, :HEAP_PAGE_OBJ_LIMIT=>408, :HEAP_PAGE_BITMAP_SIZE=>56, :HEAP_PAGE_BITMAP_PLANES=>4}

GC.count -> Integer (63025.0)

プロセス開始からガーベージコレクトを実行した回数を Integer で返し ます。

プロセス開始からガーベージコレクトを実行した回数を Integer で返し
ます。

//emlist[例][ruby]{
GC.count # => 3
//}

Integer#gcd(n) -> Integer (18307.0)

自身と整数 n の最大公約数を返します。

自身と整数 n の最大公約数を返します。

@raise ArgumentError n に整数以外のものを指定すると発生します。

//emlist[][ruby]{
2.gcd(2) # => 2
3.gcd(7) # => 1
3.gcd(-7) # => 1
((1<<31)-1).gcd((1<<61)-1) # => 1
//}

また、self や n が 0 だった場合は、0 ではない方の整数の絶対値を返します。

//emlist[][ruby]{
3.gcd(...

絞り込み条件を変える

Integer#gcdlcm(n) -> [Integer] (18307.0)

自身と整数 n の最大公約数と最小公倍数の配列 [self.gcd(n), self.lcm(n)] を返します。

自身と整数 n の最大公約数と最小公倍数の配列 [self.gcd(n), self.lcm(n)]
を返します。

@raise ArgumentError n に整数以外のものを指定すると発生します。

//emlist[][ruby]{
2.gcdlcm(2) # => [2, 2]
3.gcdlcm(-7) # => [1, 21]
((1<<31)-1).gcdlcm((1<<61)-1) # => [1, 4951760154835678088235319297]
//}

@see Integer#gc...

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

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

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

例:

GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
...

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

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

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

プロファイル情報は、GC の発生ごとに集計します。
以下は、5 回 GC が発生した場合の実行例です。

$ 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 ...

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

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

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

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

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

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

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

例:
GC::Profiler.enabled? #=> false
GC::Profiler.enable
GC::Profiler.enabled? #=> true
GC::Profiler.disable
GC::Profiler.enabled? #=> false

@see GC::Profiler.enable, GC::Profiler.disable

絞り込み条件を変える

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

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

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

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

例:
GC::Profiler.enable
GC::Profiler.enabled? #=> true

@see GC::Profiler.disable, GC::Profiler.enabled?

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

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

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

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

//emlist[例][ruby]{
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...

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

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

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

//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.total_time # => 0.0011530000000000012
//}

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

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

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

例:
GC::Profiler.disable
GC::Profiler.enabled? #=> false

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

@see GC::Profiler.enable, GC::Profiler.enabled?

GC::Profiler (9121.0)

GC の起動回数や起動したタイミング、処理時間などの GC に関するプロファイル 情報や、ヒープ全体のサイズ、ヒープ内での使用サイズやヒープ内に存在する オブジェクトの個数といった情報を扱うモジュールです。

GC の起動回数や起動したタイミング、処理時間などの GC に関するプロファイル
情報や、ヒープ全体のサイズ、ヒープ内での使用サイズやヒープ内に存在する
オブジェクトの個数といった情報を扱うモジュールです。

@see GC

絞り込み条件を変える

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (97.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

ObjectSpace.#define_finalizer(obj, proc) -> Array (97.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

ObjectSpace.#garbage_collect(full_mark: true, immediate_sweep: true) -> nil (91.0)

どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。

どこからも参照されなくなったオブジェクトを回収します。
GC.start と同じです。

@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。

@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。

注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
す。将来のバージョンとの互換性も保証されませ...

Symbol (79.0)

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。

シンボルオブジェクトは以下のようなリテラルで得られます。

:symbol
:'symbol'
%s!symbol! # %記法

生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
(`$'...

ObjectSpace::WeakMap (55.0)

GC の対象になるオブジェクトへの weak reference を持つクラスです。主に WeakRef クラスの内部で使用されるため、weakref ライブラリ 経由で使用してください。

GC の対象になるオブジェクトへの weak reference を持つクラスです。主に
WeakRef クラスの内部で使用されるため、weakref ライブラリ
経由で使用してください。

絞り込み条件を変える

Array#pack(template) -> String (43.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。

テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。

buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上...

Array#pack(template, buffer: String.new) -> String (43.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。

テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。

buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上...

ObjectSpace.#undefine_finalizer(obj) -> object (43.0)

obj に対するファイナライザをすべて解除します。 obj を返します。

obj に対するファイナライザをすべて解除します。
obj を返します。

@param obj ファイナライザを解除したいオブジェクトを指定します。

//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end

def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end

def undef
ObjectSpace.undefine_final...

String#unpack(template) -> Array (43.0)

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。

@param template pack テンプレート文字列
@return オブジェクトの配列


以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。

長さの意味はテンプレート文字により異なりますが大...

IO#autoclose=(bool) (25.0)

auto-close フラグを設定します。

auto-close フラグを設定します。

フラグが設定されているオブジェクトは
close時/GCでのファイナライザ呼出時にファイルデスクリプタを close します。
偽を設定すると close しません。

@param bool 真偽値でフラグを設定します
@see IO#autoclose?

f = open("/dev/null")
IO.for_fd(f.fileno)
# ...
f.gets # may cause Errno::EBADF

f = open("/dev/null")
IO.for_fd(f.fileno).auto...

絞り込み条件を変える

IO.for_fd(fd, mode = "r", **opts) -> IO (25.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

IO.new(fd, mode = "r", **opts) -> IO (25.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

IO.open(fd, mode = "r", **opts) -> IO (25.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

IO.open(fd, mode = "r", **opts) {|io| ... } -> object (25.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

ObjectSpace::WeakMap#[](key) -> object | nil (25.0)

引数 key で指定されたオブジェクトが参照するオブジェクトを返します。

引数 key で指定されたオブジェクトが参照するオブジェクトを返します。

参照先のオブジェクトが存在しない場合、GC されている場合、対象外のオブジェ
クトを参照している場合に nil を返します。

@param key 参照元のオブジェクトを指定します。

絞り込み条件を変える

Thread (25.0)

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。


=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...