PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
2012年6月6日~8日にLinuxCon Japan 2012が開催されます。ここではLinux Kernelの最新技術の発表や議論がいろいろ行われるのですが、カンファレンスを楽しむ手助けとなる記事を…ということで、最近のLinux Kernelのメモリ管理の以下のトピックについて、2回に分けて紹介したいと思います。 今回は、 NUMA対応 組込みシステム向けの新機能 次回は ファイルシステム、デバイスと連携したエンハンス メモリ資源管理機能(cgroup) CleanCache を取り上げます。 それぞれ、LKMLでどのような提案があって、提案の理由は何か? 現在はどうなっているのか? ということを簡単に紹介したいと思います。 NUMA対応 性能エンハンス機能として現在議論されているのが、NUMAマシン上のアプリケーションのチューニング機能です。現在、全く別の方式が有名ハッカー2人から
こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、
はじめに こんにちは、GREE Platform部の柳村(@yana_3)です。 iOSエンジニアのみなさまにおかれましてはXcode6以降の使用と64bit対応が必須になりますが、対応すすんでいますか? 64-bit and iOS 8 Requirements for New Apps 64-bit and iOS 8 Requirements for App Updates GREE Platformでは、64bit対応の検証をする中でポインタ周りでJSONKit1がクラッシュするという事態が発生し、そこから64bit時のポインタについて調べたのですが、 あまりこの内容に関して詳しく記載されているところがなかったようなので共有したいと思います。 ただ普通にiOSで開発するぶんには全く役に立たない内容になっておりますのであらかじめご了承くださいmm 調べるきっかけ 64bit環境でのみ
1: 以下、\(^o^)/でVIPがお送りします 2015/01/14(水) 13:02:47.59 ID:wwCFDTFe0.net どういうことだよ!? 3: 以下、\(^o^)/でVIPがお送りします 2015/01/14(水) 13:03:13.37 ID:IDJ5nxWX0.net てめえには4GBで十分だろってことだよ 4: 以下、\(^o^)/でVIPがお送りします 2015/01/14(水) 13:03:24.39 ID:GmfwUpkAp.net 32bit… 450: 以下、\(^o^)/でVIPがお送りします 2015/01/14(水) 21:27:26.26 ID:QhEQEjkS0.net >>4 10: 以下、\(^o^)/でVIPがお送りします 2015/01/14(水) 13:04:23.41 ID:7xHDxWVGM.net なぜ64にしなかったのか 5:
プロファイラ好きなモニタの前の皆さんこんにちは。@sonots です。この記事では、Ruby コードのどの行がどのぐらいメモリを消費しているか調べる方法を紹介します。 オブジェクトの数を数える Ruby には ObjectSpace というオブジェクトの情報を集めたり操作したりする module があります。 このモジュールの each_object メソッドを使用すると、RubyVM 上の全てのオブジェクトを取り出すことができます。 このメソッドを使って、以下のようなコードを書くと、実行した地点で、RubyVM 中にどのクラスのオブジェクトが何個存在しているのかカウントできたりするわけです。興味深いですね! ObjectSpace.each_object.inject(Hash.new 0) {|h,o| h[o.class]+=1; h } #=> {Class=>241, Strin
システムにいくらメモリが搭載されていて、そのうちどのくらいのメモリが実際に使われているのか、本当に必要なメモリはどのくらいなのか。Windows OSのメモリ管理機能について解説。 連載目次 前回はWindows OSのプロセスとスレッドについて解説した。今回はプロセスやスレッド管理とも深く関連する「メモリ管理」について見ていく。 タスクマネージャーでメモリの利用状況を確認する Windows OSと、その上で動作しているプロセスがどのくらいのメモリを使用しているかを確認することは、PCにどのくらいのメモリを用意(搭載)すべきかを決めるために重要なことである。せっかく新しい高速なシステムを導入してもメモリが不足していたのではその性能を100%発揮できないからだ。 現在使用中のシステムにいくらメモリが搭載されていて、そのうちどのくらいのメモリが実際に使われているのか、本当に必要なメモリはどの
プログラミングの「常識」は時代とともに変化します。そのひとつが、サーバプログラムにおけるバッファ処理です。 1990年代後半から2010年頃までは、メモリ空間の大きさ(32bitすなわち4GB注1)を超える大きさのファイルを扱う時代でした。このため、httpdなどのサーバプログラムにおいても、入出力データをいったんテンポラリファイルとしてバッファリングする必要がありました。ですが、ファイルI/Oはメモリアクセスと比べると低速です。このため、小さなサイズのデータについてはメモリアクセスする一方で、大きなサイズのデータについてはファイルI/Oを用いる、という煩雑なコードを書く必要がありました。 しかし、2014年も暮れとなる今 、サーバサイドにおいては64bit環境のみを考えれば良い時代に入りつつあります。 もちろん、64bit環境といったところで、64bit空間の全てをユーザプロセスが使える
iPhone6/iPhone6 Plusは、搭載メモリは1GBながら、2GBや3GBのメモリを搭載するAndroid陣営の上位モデルより処理速度が高速となっています。この理由は、AndroidとiOS端末の根本的な違いにありました。 iPhone6がメモリ1GBでもAndroid端末より高性能な理由 iPhone6/iPhone6 Plusの処理速度を主要スマートフォンと比較したベンチマークテストの結果、iPhone6/6 Plusは、メモリを多く搭載したサムスンのGalaxy S5などの端末より処理速度が速いことが明らかになっています。 iPhone6/6 Plusのメモリ容量は1GBですが、大容量のメモリを搭載したAndroid端末よりも処理速度が速いのは、OSの内部設計の違いに理由があるとQuoraに掲載され、話題になっています。 AndroidはJavaで動作する構造上、「ガーベー
ほとんどの開発者は、自動のガベージコレクション(GC)を当たり前のように使っています。これは、私たちの仕事を容易にするために言語ランタイムが提供する素晴らしい機能の1つです。 しかし、最新のガベージコレクタの中をのぞいてみれば、実際の仕組みは非常に理解しづらいことが分かります。実装の詳細が無数にあるため、それが何をしようとしているのか、また、それがとんでもなく間違った事態を引き起こしかねないことについて十分理解していない限り、すっかり混乱してしまうでしょう。 そこで、5種類のガベージコレクションアルゴリズムを持つおもちゃを作ってみました。小さいアニメーションはランタイムの動作から作成しました。もっと大きいアニメーションとそれを作成するコードは github.com/kenfox/gc-viz で見ることができます。単純なアニメーションによってこうした重要なアルゴリズムを明らかにできることは
なお、価格.comによると発売前予約価格は24万8,400円となっております。ケタ間違っていません。 1999年に規格が決まり、2000年から発売されたSDカード。当初は8MBからのスタートでしたが、2014年の今日、同じサイズで512GBもの四次元ポケット的容量にまで育ちました。どういうこと。 そんな 「サンディスク エクストリーム プロ SDXC UHS-Iカード 512GB」の書き込み速度は90MB/秒で転送速度は95MB/秒。速い速い。 前述したように、おいそれと手を出せる価格帯ではありませんが、メモリの歴史は値下げの歴史。近い将来の実勢価格と、小サイズ大容量フラッシュメモリが開発されたことでスマートフォンとかも512GBになっちゃったりするような未来が楽しみです。 なお、本製品は12月出荷開始とのことです。 source:サンディスク (武者良太)
linux上のアプリケーションはプロセスとして起動されます。 プロセスを管理することはOS(ここではlinux)の重要な役割であり、プロセスのスケジューリング、割り込み、シグナル制御、優先度の制御、プロセスの切り替え、状態管理、メモリ管理などを行っています。 プロセスとは何でしょう? プロセスはCPU上で実行されるもので、タスクを完了するために、Linuxのカーネルが制御するあらゆるリソースを使うことができます。 スレッドとは何でしょう? スレッドは1つのプロセスから生成される実行単位です。同じプロセスから並行でスレッドを起動させることができます。 スレッドはメモリや、オープン中のファイルなどのリソースを共有することができます。同じアプリケーションのデータにアクセスすることができるのです。 プロセスはリソースを共有することができないので、これは大きな違いです。 言い換えると、スレッドは同じ
すりゴマです。 今日もいい感じにすり潰していきますね。 会社をもう一つ立ち上げたりと色々忙しかったので、ブログ更新がご無沙汰してしまってました。 (´・ω・`) 最近色々書きたいネタはたくさんあって、Evernoteとかに貯めてるんですが、どこぞのブロガーさんに先に記事にされたり、そもそも旬を逃したりとか、忙しいということを言い訳に、悶々とした日々を過ごしておりましたw MBAを使ってて、CPUが高止まりしたりメモリ食いまくりとか気になってたんですよ。 で、アクティビティモニタでChromeが原因なのは分かっていました。 しかも「平均エネルギー影響」でも断トツトップだったので、Chromeでたくさんのタブ開きっぱなしでMBAを常に持ち歩くすりゴマとしては、大問題なのです!! ただ、Chromeの中の何が原因なのかがわかっていなくて。。。 あ!Chromeのタスクマネージャーがあるじゃないか
いいものを見つけたのでコピペ。 yes >> /dev/null & 最後に & お勧め w(二つターミナルが必要でなくなる。) ちなみに メモリ負荷をあげる魔法のコマンド /dev/null < $(yes) & LinuxでCPU負荷を上げる魔法のコマンド - Qiita ">>" は ">" でも良いと思うが、何か特別な理由があって">>"にしているのだろうか。 追記(2014/10/08): ただのメモにはてブがたくさん(当社比)ついてビックリ(^-^; コア数に対する考慮が足りない。 コア数に対する考慮が足りない。 - gomakyuのコメント / はてなブックマーク とコメントを頂いた通り、上記のコマンドを実行しても1つの論理CPUを使い切るだけです。 例えば上の図の通り、1ソケット * 4コア * 2スレッド で論理CPU数が8の場合は、ざっくり、1多重で実行すると12.5%
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く