タグ

memoryに関するLyoのブックマーク (7)

  • PROGMEM - Arduino Reference

    Keep constant data in flash (program) memory only, instead of copying it to SRAM when the program starts. There’s a description of the various types of memory available on an Arduino board. The PROGMEM keyword is a variable modifier, it should be used only with the datatypes defined in pgmspace.h. It tells the compiler "keep this information in flash memory only", instead of copying it to SRAM at

  • 富豪的 Android プログラマの為の Eclipse Memory Analyzer Tool 入門 - sandbox

    はじめに Android プログラマのみなさん、こんにちは。 今日も元気に Out Of Memory してますか? ということで、この記事では日々 OOM に悩まされる Memory 的な意味で富豪的な Android プログラマの為に、Eclipse Memory Analyzer Tool、通称 MAT の基的な使い方を紹介します。 尚、この記事は [twitter:@youten] さんが企画された裏 Android Advent Calendar 12/20 の記事ですが、内容的には比較的オモテなものになっています。 対象読者 Andoid アプリ作ってる/はじめたけど、まだ MAT を使ったことがない方 MAT を使ってみようした事はあるものの、画面から難しそうな雰囲気を察知し、起動10秒後にはそっとタブを閉じてしまった経験がある方 DDMS の基的な使い方を理解している方

    富豪的 Android プログラマの為の Eclipse Memory Analyzer Tool 入門 - sandbox
  • TerracottaのBigMemory - 技術ブログ読み日記

    POJO Mojo の「BigMemory Explained a bit...」を読みました。 BigMemoryとはTerracotta社が開発した、Javaで文字通り巨大なメモリを扱うための技術です。 大容量メモリ使用時のガベージコレクション JVMのヒープサイズが大きいと、ガベージコレクションの停止時間が非常に長くなります。ある巨大電話会社では、ヒープサイズが48GBのときはJVMが5分以上止まることがあり、2GB×80JVM に分割するようにアプリケーションを書き直したそうです。 どのようにしてGCを回避するか BigMemoryを使うと、JVMのオプションで -Xms に500MBを指定すれば、100GBのメモリを使っていても500MBしかGCの対象にならないのだと言います。しかも、Pure Javaで書かれているそうです。 そのカラクリは、 「BigMemory: Off-h

    TerracottaのBigMemory - 技術ブログ読み日記
  • Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)

    Perlではメモリリーク検出ツールがいくつか開発されているので、top(1)の結果を眺めるよりそういうツールを使うほうが楽である。 さて、メモリリークが発生しているとき、その可能性としてはだいたい以下の4つが挙げられる。 Perlレベルでの循環参照 グローバル変数に値をどんどん足しているとき*1 XSレベルでリファレンスカウントの管理ミス XSレベルでmalloc()したメモリの管理ミス この1-3についてはすべてPerlインタプリタ内の出来事であり、Test::LeakTraceを使って検出できる。4を検出するのは難しいが、Test::Valgrindが役に立つ。 Test::LeakTraceのSYNOPSISは歴史的経緯によりごちゃごちゃしているが、テストで使うべき関数はno_leaks_ok()とleaks_cmp_ok()だけである。 たとえば、以下のようにして使う*2。 #!p

    Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - メモリバリア編 - - じゅんいち☆かとうの技術日誌

    このエントリを読む前提条件として、マルチコア時代に備えて気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - じゅんいち☆かとうの技術日誌を読んで、リオーダーとは何かを理解していることとします。 前回のおさらいをすると、 プログラムの実行順序は、リオーダーが許可される場合と禁止される場合がある。並行処理ではリオーダーを想定しなければ、処理結果の整合性が確保できない。(特にマルチプロセッサ環境) リオーダーを禁止して、可視性を保証する。(finalフィールドはコンストラクト時に完全に初期化され、コンストラクト後はスレッドから見えるようになる) でした。 リオーダーについて理解できたら、今度はメモリバリア命令でスレッド毎に扱うメモリと、大域のメインメモリとのメモリI/Oについて見ていきたいと思います。メモリバリアが理解できれば、以下のソース*1のスレッドがな

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - メモリバリア編 - - じゅんいち☆かとうの技術日誌
  • bayashi.net

    {{tag: wsl2, ubuntu, ubuntu22}} Ubuntu18 で glibc が古くてどうにもならなくなったので重い腰をあげてアップグレードする。すでに WSL2 に Ubuntu18 が動いている状態からスタート。 WSL2 アップデート 管理者権限のPowerShell 管理者権限のシェルを起動する(PowerShellで以下を... つづきを読む

    bayashi.net
  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
  • 1