Google、訂正不可能なメモリエラーによるクラッシュを回避する「Memory Poisoning Recovery」をGoogle Cloudで提供へ ずっと安定して稼働していたシステムが、ある日突然エラーでクラッシュ。調べても原因が分からないので、「何らかのノイズや放射線などの影響でメモリエラーが起きたのでは?」という推測を顧客に報告した、なんて経験を持つベテランのITエンジニアは少なくないのではないでしょうか。 実際のところ、2009年のGoogleの調査では同社の本番システムにおいて、1年間で8%以上のDIMMモジュールにメモリエラーが発生していたと報告されています。想像以上にメモリエラーというのは起きているのですね。 ただし、現代のメモリとCPUなどではエラー訂正機能を備えているため、多くのメモリエラーは訂正され、システムの動作に影響を与えないようになっています。 しかし訂正しき
プログラムの動的な振る舞い、特にメモリアクセスの様子をみてみたくなることがあります。 たとえば、2017年のデザインガイアで発表されていたFPGAアクセラレータ開発を支援するためのツール環境では、ValgrindとGDBを使ってメモリアクセスの様子を可視化していて、面白そうだな、やってみたいなと思わされます。 とりあえず Valgrind + GDBでメモリアクセスを確認する方法を、ちょっと試してみました。 Valgrindを使ってみる まずはValgrindを使ってみます。ターゲットはfree忘れの簡単なプログラムです。 #include <stdlib.h> #include <strings.h> #define N (100) #define M (128) void dut() { char *ptr; for(int i = 0; i < N; i++) { ptr = (ch
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く