タグ

forkに関するyassのブックマーク (6)

  • What is the Linux process kernel stack state at process creation?

    yass
    yass 2015/06/20
    " p->thread.sp and p->thread.ip are the new thread's kernel stack pointer and instruction pointer respectively. "
  • ApacheでCGIを使う場合にpreforkを使った方が良い状況とそのチューニングについて - 人間とウェブの未来

    かなり今更感の漂う内容ではありますが、意外と情報が分散していたり、Apache2.4系を考慮した場合に足りていない内容があったのでこのエントリで一度まとめてみようと思います。 CGIを使うようなシステムでそれなりにアクセスが集中するサーバ、例えば日々のピーク時のApacheのbusyワーカー数が1000になるようなサーバで、かつ、それを処理可能なマシンスペックのサーバであることを前提にしています。 ApacheのMPMCGI実行アーキテクチャの復習 ApacheでCGIを使う場合には、MPMCGI実行アーキテクチャの組み合わせは大きく分けて以下の2つに分ける事ができます。 worker(event) + mod_cgid prefork + mod_cgi Apacheの2.4系から特にworker(event) + mod_cgidのモデルが推奨されているようです。また、2.4系では

    ApacheでCGIを使う場合にpreforkを使った方が良い状況とそのチューニングについて - 人間とウェブの未来
    yass
    yass 2014/09/11
    " CGIの処理をシングルスレッドで担当しているmod_cgidプロセスの処理が一つのコアをCPU100%で占有しはじめます。"
  • DMM inside

    なぜDMMがweb3に参入したのか。Seamoon Protocolが目指す新たなエンタメ体験の未来とは

    DMM inside
    yass
    yass 2013/09/12
    " cloneというシステムコールが多い。外部コマンドは呼ばれる度に新しいシェルを起動(clone,fork)しコマンドを動かすため、その起動コストに非常におおきな時間を要し実行時間に大きな差が出てしまっているのではないかな "
  • プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。

    プロセス置き換えとか、名前付きパイプとか、とても便利な機能なのだけど、その仕組みはどうなっているのだろう?断片的な知識ばかりでは、その核心にはなかなか辿り着けない。サンプルコードの真似はできるけど、それ以上の発想はできない...。もっと根的なところからちゃんと理解しておかないと、いつまでたってもコマンドの使い方の質が理解できないと感じた。プロセスとは何か?パイプとは何か?リダイレクションとは何か?ファイルディスクリプタとは何か?可能な限りその質を探ってみようと思う。 UNIXのプロセス UNIXでは、複数のユーザーがログインした状態で、同時に複数の処理を依頼される状況が多々ある。 ところが、どんなに高性能なCPUであっても、ある瞬間に処理できるのはたった1つの処理だけである。 そんな時OSは、それぞれの処理に必要なメモリ領域を割り当てて、CPUをタイミングよく切り替えながら同時並行的

    プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。
  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

    Linux は fork で子プロセスを作成した場合、親の仮想メモリ空間の内容を子へコピーする必要があります。しかしまともに全空間をコピーしていたのでは fork のコストが高くなってしまいますし、子が親と同じようなプロセスとして動作し続ける場合は、内容の重複したページが多数できてしまい、効率がよくありません。 そこで、Linux の仮想メモリは、メモリ空間を舐めてコピーするのではなく、はじめは親子でメモリ領域を共有しておいて、書き込みがあった時点で、その書き込みのあったページだけを親子で個別に持つという仕組みでこの問題を回避します。Copy-On-Write (CoW) と呼ばれる戦略です。共有メモリページは、親子それぞれの仮想メモリ空間を同一の物理メモリにマッピングすることで実現されます。より詳しくは コピーオンライト - Wikipedia などを参照してください。 この CoW に

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • シェルスクリプト最大の罠、while問題

    シェルスクリプト最大の罠:while問題 前回はシェルスクリプトプログラミングのコツの1つとして「アット・ア・グランス性」を紹介した。紹介の中でwhileが引き起こしやすい問題について触れたが、前回の説明だけではよく分からなかった方もいると思う。 今回はこの「while問題」に焦点を当て、シェルスクリプトプログラミングで最もはまりやすい問題を掘り下げて説明する。 whileとパイプの組み合わせで問題発生 次のシェルスクリプトを見てほしい。実行結果を予測してほしいのだが、おそらくほとんどの方が「標準出力にLinuxが出力される」と答えるだろう。

    シェルスクリプト最大の罠、while問題
  • 1