タグ

関連タグで絞り込む (157)

タグの絞り込みを解除

メモリに関するiwwのブックマーク (293)

  • Valgrindの使い方 - Narrow Escape

    พร้อมนำเสนอระบบใหม่ล่าสุด riches888 2024 เว็บ สล็อต Joker123 เว็บตรงค่ายใหญ่ ปั่น Joker Slot สปินลื่นไหลแบบสุดๆ สนุกเต็มพิกัดไม่มีอะไรมาขัดอารมณ์ รับกำไรจัดหนักยิ่งปั่นยิ่งรวย ...Joker Slot ยินดีต้อนรับสู่สถานที่ที่ดีที่สุดในการเล่นสล็อตมือถือฟรี! ที่ทำให้เกมเข้าถึงได้ทุกที่ทุกเวลา ผ่านแอพ Joker Slot ของเรา คุณสามารถเล่น Joker Slot ได้โดยไม่ต้องลงทะเบียนหรือฝากเงินจริงJOKER GAMING SLOT ONLINE ...

  • valgrindでC/C++のメモリリークを発見する - Qiita

    ==23525== Invalid free() / delete / delete[] / realloc() ==23525== at 0x1000089DF: free (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so) ==23525== by 0x100000F4F: main (sample.c:8) ==23525== Address 0x10081f510 is 0 bytes inside a block of size 4 free'd ==23525== at 0x1000089DF: free (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwi

    valgrindでC/C++のメモリリークを発見する - Qiita
  • free コマンドの実行結果の見方 | グーフー WordPressのためのLinuxノート

    Linux のリソース管理を行うコマンドはたくさんありますが、そのうちの free コマンドについて、その実行結果の見方をきちんと知っておきたいと思います。 free コマンドは、メモリの使用状況を表示するコマンドです。 実行すると、下表に示す3種類の領域に関する容量データ(項目)が表示されます。 領域

  • 革命の日々! muninのプラグインを書いてみた

    最近、kosakiという人が「オレはLKMLでもっとも頻繁にOOMバグの解析を行っているデベロッパの一人である。オレが言うんだから間違いない。現在のOOMの表示と/proc/meminfoはフィールドが足りない」と真偽が定かではない主張をして、フィールドを大量に増やすパッチを、ねじ込んだ。 ちなみに、現在の /proc/meminfoはこんな感じ $ cat /proc/meminfo MemTotal: 6037184 kB MemFree: 1229820 kB Buffers: 252336 kB Cached: 3673464 kB SwapCached: 0 kB Active: 1463432 kB Inactive: 2772100 kB Active(anon): 315332 kB Inactive(anon): 16 kB Active(file): 1148100 k

  • /proc/meminfoを考える - めもめも

    通りすがりの貴方・・・・ /proc/meminfoのあっちの値とこっちの値を足したら、なんでそっちの値と同じにならないの・・・・ と悩んだことありますよね? /proc/meminfoは、カーネルが内部的に管理している枠組みでのメモリ情報をそのまま出しているので、残念ながらユーザ視点で知りたいメモリ情報とは一致しません。 とはいえ、変な解釈をして無意味に悩まないために、それぞれの値の意味合いと項目間の関係を知っておくのは有意義です。私の理解の範囲で、それらの関係をまとめていきます。 #私の理解も完璧ではないので、間違いあればやさしくご指摘お願いします。 参考資料 http://mkosaki.blog46.fc2.com/blog-entry-1007.html 2011/09/07 追記: tmpfsがSwapCachedに含まれるのは幻想でした。tmpfs=Shmemに修正しました。

    /proc/meminfoを考える - めもめも
    iww
    iww 2018/10/31
    あとで印刷して壁に貼っておく
  • The OOM CTF

    カーネルのバージョンやシステムの構成や実行するタイミングなどの変動要因により、結果が異なる場合がありますことを予めご了承ください。 0.3 自己紹介:熊Linux との関わりについて OSレベルでのセキュリティ強化 2003年4月から2012年3月までは、 TOMOYO Linux という Linux システム向けのアクセス制御モジュールの開発に携わってきました。バッファオーバーフロー脆弱性やOSコマンドインジェクション脆弱性を撲滅できない状況で、当初は SELinux という難解なアクセス制御モジュールしかありませんでした。 TOMOYO Linux のメインライン化にまつわる苦労話は、セキュリティ&プログラミングキャンプ2011の講義資料を参照していただければと思います。 TOMOYO Linux から始まって AKARI や CaitSith に至るまでの変遷は、セキュリティ

    The OOM CTF
  • 侍エンジニア塾のC言語のサンプルがヤバすぎる。

    C言語はもうかれこれ10年くらい書いていないけど、流石にこれはヤバい。 正直な感想として、ブランド毀損するくらいの危険性をはらんでいると思う。 当該記事からコピーしてきた。 #include <stdio.h> #include <stdlib.h> // 構造体の宣言 typedef struct { int num; char *str; } strct; int main(void) { // 実体を生成 strct *entity; // 動的メモリの確保。確保したメモリをstrct型ポインタにキャスト。 entity = (strct*)malloc(sizeof(strct)); // メンバの初期化 entity->num = 0; entity->str = (char*)malloc(sizeof(32)); // メモリに文字列を代入 sprintf(entity->s

    侍エンジニア塾のC言語のサンプルがヤバすぎる。
    iww
    iww 2018/10/17
    こういうので学んで安く請けてやらかす人たちがいるからこそ、ちゃんとした人たちの評価が高く保たれる。
  • Linuxのメモリキャッシュを削除する | 俺的備忘録 〜なんかいろいろ〜

    Linuxでメモリを開放したい場合、Linuxカーネル2.6.6移行であればカーネルの値を書き換える事で開放が可能となっている。 以下のようにコマンドを実行することで、メモリを開放できる。 echo メモリ開放の種類 > /proc/sys/vm/drop_caches もしくは、sysctlコマンドを用いる。 sysctl -w vm.drop_caches=メモリ開放の種類 メモリ開放の種類は、以下の3種類ある。 開放したいメモリの数字を指定する。 ページキャッシュ ダーティキャッシュ・inode ページキャッシュ・ダーティキャッシュ・inode ダーティキャッシュというのは、ストレージのキャッシュには記録されたのだが、ディスクにはまだ記録されていないデータの事。 下手に消してしまうと、そのデータは失われてしまうので注意。2もしくは3を指定する場合、一度「sync」コマンドを実行する事

  • リード・コピー・アップデート - Wikipedia

    リード・コピー・アップデート(read-copy-update、RCUと略記)とは、オペレーティングシステムにおいて一種の排他制御[note 1]を実装する同期機構であり、リーダー・ライターロック(英語版)の代替手段として使われることがある。参照において待ち状態が生じず、極めてオーバーヘッドが低い。しかしRCUにおけるデータ更新は、既存の参照者のために古い版のデータ構造を保持しつつ行うため、時間と空間(メモリ)をより多く必要とする。古い版のデータ構造は、既存の参照者が全てアクセスを完了した後で回収される。 概要[編集] RCUでは「参照側クリティカルセクション」という概念があり、通常 rcu_read_lock() と rcu_read_unlock() で挟まれた部分がそれにあたる。参照側クリティカルセクション内にない文は「不活性状態」と呼ばれ、RCUで保護されたデータ構造への参照を保持

  • valgrindが検出するメモリリークの種類 - wagavulin's blog

    C/C++のメモリリークチェックツールと言えばvalgrindが有名だが、メッセージの詳細を日語で説明しているサイトはあまりないようなので調べてみた。 valgrindは、mallocやnewで確保されたメモリ領域がポインタによって辿れるかどうかをチェックすることでメモリリークを検出する。以下の例を見てみよう。 char *g_ptr; void func(){ char *p = new char[32]; // (A) } int main(){ func(); } main関数から始まり、そこからfuncが呼ばれ、現在 (A) の位置にいるとしよう。このとき、メモリ上にはmain関数とfunc関数で定義された変数があり、また、グローバル変数であるg_ptrも有効な状態で存在している。func関数が抜けると変数pは無効になる。 このpやg_ptrのようなデータのことをroot-set

    valgrindが検出するメモリリークの種類 - wagavulin's blog
    iww
    iww 2018/10/11
    『valgrindは、mallocやnewで確保されたメモリ領域がポインタによって辿れるかどうかをチェックすることでメモリリークを検出する。』 そういう原理だったのか
  • CppCheckでC言語/C++のメモリリーク(解放漏れ)を静的解析で検出する。 | Futurismo

    メモリ解放漏れ・メモリ二重解放は組込みエンジニアにとって、背筋が凍る単語だ。 それは、即、残業しなさいという意味に転じる。 そこから、泥沼のデバッグにハマることがよくある。 そんな課題をスマートに解決するために、メモリ解放漏れやメモリ二重解放を検出するツール調べてみたので、メモメモ。 オープンソース CppCheckのインストールをしよう# Cppcheckを使うことでメモリ解放漏れを静的解析で見つけることが可能だ。CppCheckはその他にも、アロケーション(確保と解放)の不一致(メモリ二重解放),バッファオーバーランの検出ができる。OSSなので、誰でも無料で利用可能。 CppCheckのダウンロードはココから Cppcheckの使い方の日語訳は、以下のサイトで公開されている。 (ものすごく感謝!)今回はこれを参考に自分でも試してみる。 cppcheck 日語マニュアル - 一人ぼっ

    CppCheckでC言語/C++のメモリリーク(解放漏れ)を静的解析で検出する。 | Futurismo
  • C++11スマートポインタ入門 - Qiita

    [2022-06-22] さすがに情報が古くなってきたため、最新の規格に合わせて記事の内容を再編集した記事を新たに書きました。よろしければ、こちらの新記事「C++20スマートポインタ入門」をご参照ください。 C++11では、unique_ptr<T> shared_ptr<T> weak_ptr<T>の3種のスマートポインタが新たに追加された。これらのスマートポインタは、いずれもメモリの動的確保の利用の際に生じる多くの危険性を低減する目的で使用されるが、それぞれ独自の考え方と機能を持っている。3種のスマートポインタを適切に使い分けることで、安全性と開発速度の向上が見込めるだけでなく、プログラマの意図に合わせて「ポインタ」を記述し分けることができる、非常に強力なツールとなる。 解説では、スマートポインタについて初めて学ぶ人を対象に、C++11で追加された3種のスマートポインタの機能と使い

    C++11スマートポインタ入門 - Qiita
    iww
    iww 2018/09/07
    やっぱり記述量が多いなC++
  • Man page of SHMGET

    iww
    iww 2018/08/21
    『IPC_NEW の方がより明確にその機能を表しているだろう。』 じゃあそういう名前で定数を定義しろよ。ダブったっていいんだから
  • /proc/meminfo で表示される各項目の意味 - Wikiducca

    実際に使用しているバッファメモリか、ページキャッシュメモリの容量。Kバイト単位。これは、最近使用されたメモリで、通常その他の目的には要求されません。

  • Mac版のPHPStormが重いので、徹底的にいろいろやって、すこしは軽快になった。 | yama-log

    [追記] ※解決しました。重くなるタイミングなどしらべていくと、マルチバイトの文字が増えるx4Kディスプレイつかっているときに多い。 まず、Cmd + Shift + A で検索ウィンドウをだす。 switchと入力してSwitch IDE boot JDKを選ぶ、 1.8.0_152から、1.8.0_131に変更(決定して)再起動。 これで現在は重くなることがなくなったようですしばらくつかってみます。 PHPStromがまたもっさりしてきて使いモンにならなくなってきた。 特に、Dashを使ってスニペットを挿入する場合などが酷くて、コーディングがつらすぎる状態。。(涙 1、設定関係のリセット (※設定がすべてきえるので、メニューの File > Export Settings しておくといい) 以下のファイルを削除して再起動してInport Settingsで読み込む ~/Library/

    Mac版のPHPStormが重いので、徹底的にいろいろやって、すこしは軽快になった。 | yama-log
  • [Linux]Swap領域をクリアする方法 · DQNEO日記

    開発に使ってるLinuxサーバで、Swap領域が大量に使用されて動作が重くなっていたのでSwap領域を解放するためにやったことのまとめ。 単純にサーバ再起動してもよいのだけど、それだと作業中のEmacsが落ちてしまうので開発効率がおちる。 サーバ再起動させずにSwapを空にする方法はないかと試行錯誤してみたら、うまくいきました。 メモリに空き容量がある場合 Swap usedの容量よりも実メモリの空き容量の方が大きい場合、単純にスワップをoffにしてonにすれば解決します。 swapoff -a && swapon -a (swapoffコマンドが見つからない場合は /sbin/swapoff などをあたってみてください。) メモリに空き容量がない場合 「スワップをoffにする」とは、ディスクに退避されてるデータをメモリに移動させることです。 なのでメモリの空き容量が足りない場合はswap

    [Linux]Swap領域をクリアする方法 · DQNEO日記
    iww
    iww 2018/07/03
    『単純にスワップをoffにしてonにすれば解決します。』
  • ulimitコマンド(システムリソースの上限を設定する)【UNIX限定】

    引数 リソースを示すオプションを複数同時に指定した場合は,あとに指定したオプションが有効になります。 -H ハードリミットを設定または出力します。-Hと-Sオプションを同時に指定した場合は,あとに指定したオプションが有効になります。 -S ソフトリミットを設定または出力します。-Hと-Sオプションを同時に指定した場合は,あとに指定したオプションが有効になります。 -a すべてのリソースの上限値を出力します。 -c コアダンプのファイルサイズ上限をblock単位で設定または出力します。 -d データ領域サイズの上限をKB単位で設定または出力します。 -f シェルまたはシェルから起動したプロセスが書き込むファイルの,ファイルサイズの上限をblock単位で設定または出力します。 -l ロックされる物理メモリのメモリサイズの上限をKB単位で設定または出力します。 -m 使用される物理メモリのメモリ

  • Nginx のFastCGIキャッシュ(fastcgi cache )を使ってみた | レンタルサーバー・自宅サーバー設定・構築のヒント

    Nginx のFastCGIキャッシュ(fastcgi cache )を使ってみた

  • Kodama's tips page

    Kodama's home / tips. Linux ディスクキャッシュの開放 以下は Linux 2.6.16 以降. 2.6.15 以前では, /proc/sys/vm/bdflush で行う. 概要 一時的にキャッシュを開放したい場合 ディスク装置のバッファキャッシュ キャッシュのメモリー使用量の調整 キャッシュの書き込み間隔の調整 概要 ディスク装置の中のディスクの回転速度や読み書き速度と コンピュータのデータ転送速度には大きな差がある. この速度の違いを調整するために, 一時的なデータの置き場所として使われるものをバッファキャッシュと云う. ディスク装置に組み込まれたバッファキャッシュと, 主メモリーの空いた部分にとるバッファキャッシュの2段階があることに注意. 通常は気にする必要は無いが, 能力の測定でファイルの読み書きを行う場合などに影響する. Linux では, 主メモリ

    iww
    iww 2018/05/07
    "sync ; echo 3 > /proc/sys/vm/drop_caches ; hdparm -f /dev/sda"
  • HPROF: ヒープ/CPU プロファイリングツール

    Java 2 Platform Standard Edition (J2SE) では、ヒープと CPU のプロファイリング用に HPROF と呼ばれる簡単なコマンド行プロファイリングツールが常に提供されます。HPROF は、実際には JVM のネイティブエージェントライブラリであり、JVM の起動時にコマンド行オプションで動的にロードされ、JVM プロセスの一部になります。ユーザーは、起動時に HPROF のオプションを指定することで、HPROF に対してヒープ、CPU、またはその両方のさまざまなプロファイリング機能を要求できます。生成されるデータは、テキスト形式またはバイナリ形式にでき、メモリー使用量や効率の低いコードが関与するパフォーマンス上の問題を見つけて切り分けるために使用できます。HPROF によって生成されるバイナリ形式ファイルは、HAT などのツールでヒープ内の割り当て済みオ

    iww
    iww 2018/04/06
    Javaプログラムがバグって死んだときに残すファイル。 coreみたいなもの。 それなりに大きくて邪魔。