タグ

メモリと解説に関するiwwのブックマーク (19)

  • DDR4とDDR5の違い!使用用途・性能・コストを徹底比較 - 法人様向けパソコンならドスパラプラス

    この記事では、DDR4とDDR5の違いについて解説します。PCメモリは使用用途に応じて選ぶことが大切です。この記事を読むことで、DDR4とDDR5のどちらを購入すべきか判断できます。PCメモリ選びに悩んでいる方は、ぜひ最後までご覧ください。 メモリ規格で抑えておきたい5つの知識 メモリの規格に関する前提知識を5つに分けて紹介します。メモリを正しく理解できているか不安な方は、参考にしてください。 そもそもDDRとは DDRメモリはDouble Data Rate(ダブルデータレート)の略で、クロック信号の立ち上がりと立ち下がりの両方でデータを送信する技術です。この技術により、メモリのデータ転送速度が向上し、コンピュータの性能が改善されます。例えると、自動車がギアを上げて速度を上げるのと似ていると考えると理解しやすいでしょう。 DDRの互換性 DDRメモリの各世代間、DDR4とDDR5に互換性

    DDR4とDDR5の違い!使用用途・性能・コストを徹底比較 - 法人様向けパソコンならドスパラプラス
  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 稿では3言語の連想配列の従来実

    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
  • 革命の日々! @ITのmeminfoの見方の説明が完全に間違っている件について

    http://www.atmarkit.co.jp/flinux/rensai/tantei01/bangai01c.html Activeはページキャッシュや無名ページ(注3)のうち、最近利用したり、まだストレージとの同期が取れていない「捨てられない」ページです。Inactiveは、同じくページキャッシュや無名ページのうち、最後にアクセスされてからある程度時間がたち、ストレージとの同期も完了していて、すぐに捨てられるページです。よって、/proc/meminfoの出力でいうところの MemFreeとInactiveを足すことで確実に利用可能なメモリ量を算出することができます。 (実際に利用可能なメモリ量)≒(MemFree+Inactive) この値を利用し、一定量を下回らないようにするのが、簡単・確実なメモリ利用率監視法といえます。 間違ってる。完全に。 たぶんNTT OSSセンタとい

  • freeコマンドに新しく追加されたavailableについて

    freeコマンドに追加されたavailable 3.14および2.6.27から、freeコマンドの書式が変わり、 -/+ buffers/cacheが消えてavailableという項目が増えました。 availableは/proc/meminfoの中にあるMemAvailablの値を参照しています。 この値は、新しいアプリがスワップせずに使える容量はどれくらいか。といった値を示しているようです available Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields, this field takes into account page cache and

  • [ゼビウス] 巨大バキュラ(ガル・バキュラ)バグの研究 : してログ - LANDHERE

    再現できたガル・バキュラ デモプレイに画面が切り替わる瞬間にクレジットを投入した際、ソルバルウなどが画面に残った状態で PUSH START BUTTON の画面になることが、このバグが成立した状態になります。ただし、状況によっては目立った変化が無い動画もあります、何れにしてもこれが成立していれば、スタート直後に横一列にバキュラが並んだ状態で出現します。こちらのページにそのリプレイファイルがあったので、今回はこのバグが成立する条件を探ってみました。 まず、大量のバキュラが出る原因はすぐに分かりました。バキュラのキャラクターコードが 0x01 で、これが地上物、空中物、バキュラ、スパリオなどのワークメモリすべて埋め尽くされるために起きています。これは総攻撃などと同じ原理で、どのワークに入れても指定したコードのキャラクタが出現するのと一緒です。そのため、空中物に入れられたバキュラは破壊可能で、

  • トラブルシューティングでよく使うコマンド<Linux・メモリ編> - 祈れ、そして働け ~ Ora et labora

    現在のメモリの使用状況 # cat /proc/meminfo 項目 説明 MemTotal 物理メモリ搭載量 MemFree 空きメモリ容量 Buffers Bufferのサイズ Cached PageCacheのサイズ SwapCached Page outされていたページをPage inして、まだディスクにPage outした時のデータが残っているページのサイズ。空きメモリが足りなくなった場合、Page outせずにそのまま解放できるのでディスクI/Oを省略できます。 Active 最近アクセスされたページ。基的に解放の対象外となります。 Inactive 最近アクセスのないページ。空きメモリが少なくなるとこのページから解放されていきます。 HighTotal HighMemoryの総容量 HighFree HighMemoryの空き容量 LowTotal LowMemoryの総容

    トラブルシューティングでよく使うコマンド<Linux・メモリ編> - 祈れ、そして働け ~ Ora et labora
  • E.2.18. /proc/meminfo - Red Hat Customer Portal

    お客様向けカスタマーサポートドキュメントサポートケースを管理サブスクリプション管理Red Hat Ecosystem Catalogパートナーを探すパートナー向けパートナーログインパートナーサポートパートナーになる試用、購入および販売Red Hat MarketplaceRed Hat ストア営業チームへのお問い合わせトライアルの開始Learning resourcesトレーニングと認定資格開発者の場合Hybrid Cloud ラーニングハブインタラクティブなラボ学習コミュニティーRed Hat TVオープンソースコミュニティーAnsibleシステム管理者向けアーキテクト向け MemTotal: 1921988 kB MemFree: 1374408 kB Buffers: 32688 kB Cached: 370540 kB SwapCached: 0 kB Active: 344604

  • /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
  • 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で確保されたメモリ領域がポインタによって辿れるかどうかをチェックすることでメモリリークを検出する。』 そういう原理だったのか
  • /proc/meminfo で表示される各項目の意味 - Wikiducca

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

  • Glibc malloc internal

    2. 今日は何の話? libc でもっとも良く使われる関数、 malloc と free の実装の解説 もっと一般的に言うと、プロセスのアドレス空間のうち、 heap 領域とよばれる、場所を操作する関数の説明 解説というと聞こえはいいが、そんな大層なものじゃない 3. Linux での process address space model kernel stack text mmap data bss heap 矢印はデータ量の増加と ともに、伸びる方向 使用中 使用中 使用中 今日は、ここ、 heap と呼ばれる領域のお話 low high free free free 4. 古典的 malloc プログラミング言語 C (いわゆる K&R) で紹介された初期の Unix の malloc 実装 使用中 使用中 使用中 free listの head 使用中 ・ free list を

    Glibc malloc internal
  • 【RHEL】linuxメモリのfreeとmeminfoの関係を図解し利用率の計算方法を説明してみる - のぴぴのメモ

    はじめに linuxのメモリ利用容量(空き容量)の考え方 linuxのメモリ利用容量/空き容量の計算方法 ■RHEL7 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 ■RHEL6 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 ■RHEL5以前 【freeコマンドとmeminfoの図解】 【計算方法】 freeコマンド表示例 /proc/meminfo表示例 蛇足 その1:無名ページとファイルページ その2:図解の内容のツッコミ その3:RHEL6の計算 その4:Inactiveを空き領域とすることは間違い。 はじめに linuxサーバを利用する上で何時も頭を悩ますものの一つが、メモリ利用状況の評価(メモリ利用率)ではないでしょうか。私も悩みます。そこで

    【RHEL】linuxメモリのfreeとmeminfoの関係を図解し利用率の計算方法を説明してみる - のぴぴのメモ
  • 仙石浩明の日記: x86_64 Linux でメモリ・デバッグ・ツール Valgrind を使う場合の注意点

    次のようなプログラム test.c について考える: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <string.h> struct test { int32_t len; int8_t buf[16]; }; int main(int argc, char *argv[]) { struct test *p = malloc(sizeof(struct test)); int8_t buf[16]; p->len = sizeof(p->buf); bzero(p->buf, p->len); printf("0x%lX-0x%lX => 0x%lX\n", (long)p->buf, (long)p->buf+p->len-1, (long)buf); bcopy(p->buf, buf,

  • あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー

    お題は「あるプロセスがどの程度の物理メモリを利用したかを知りたい」です。 手っとりばやく知りたいときは top や ps などで調べると良いでしょうか。例えば手元の coLinuxtop して M キーでソートすると emacs のプロセスが最もメモリを使っているようです。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1923 naoya 18 0 23120 19m 3096 S 0.0 2.0 0:55.40 emacsメモリサイズは VIRT と RES がありますが、VIRT は Virtual の略で仮想メモリ領域のサイズ、RES が Resident の略で、実際に使用している物理メモリ領域のサイズ。19MB ほど使っているようです。この emacs のプロセスが利用するメモリ領域はざっくり 20MB 程度と

    あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー
  • GHOST 脆弱性は如何様に使うのか | Webシステム開発/教育ソリューションのタイムインターメディア

    先日 GHOST と呼ばれる glibc の脆弱性が発表された。なんでも、「リモートから任意のコードを実行できる可能性がある」らしいではないか。しかも様々なプログラムで利用されているライブラリ部分の問題とあって、影響範囲がとても広い。なかなか厄介なことである。 はて、しかし一体全体どうやってリモートから任意のコードを実行しようというのだろう? 話を聞くに、たかが数バイトの情報を範囲外のメモリに書き込める可能性があるだけだという。実際それだけのことでサーバーの乗っ取りなどできるものなのだろうか。そんなわけで、その疑問に答えるべく、記事では以下の URL で解説されている実際の攻撃方法を若干端折って紹介してみようと思う。 http://www.openwall.com/lists/oss-security/2015/01/27/9 なお、記事はこの脆弱性そのものに対する緊急度などについて言

    GHOST 脆弱性は如何様に使うのか | Webシステム開発/教育ソリューションのタイムインターメディア
    iww
    iww 2015/01/30
    使えるようになるまでの道のりが結構大変そう
  • Out Of Memory Killerに似てるけど、もう少しやさしいiPhoneOSの空きメモリー制御 - More the iPhone Development Playground

    みなさんは、Linuxカーネルに備わっているOOM Killer(Out of Memory Killer)というものをご存知でしょうか? OOM Killer(Out of Memory Killer)は,システムが実メモリーと仮想メモリー空間(スワップ領域)を使い切り,必要なメモリー領域を新たに確保できない場合に,プロセスを強制終了させて空きメモリーを確保する,Linuxカーネルの仕組みです。OOM Killerは,空きメモリーが確保できないことによりシステム自体が停止するという最悪の事態を避けるために用意されています。 Linuxキーワード - OOM Killer:ITpro iOS4で、格的なマルチタスク環境がサポートされるようになりましたが、3.x以前でも、Safariやメール、iPodなどの、標準アプリケーションは、バックグラウンド化されていたのは周知の通りです。 その頃か

    Out Of Memory Killerに似てるけど、もう少しやさしいiPhoneOSの空きメモリー制御 - More the iPhone Development Playground
  • malloc(3)のメモリ管理構造 VA Linux Systems Japan

    これらの問題を検出する為の色々なツールも存在しますが、mallocライブラリ側でも簡単なチェック機能が備えられています。これは予めライブラリ内に組み込まれている為、簡単に使用することができ、アプリケーション側の修正も必要ありません。ただ簡単な仕組みの為、余り詳細なチェックは行えません。上記の(1)と(2)には対応が可能です。以下、この機能の仕組みについて説明します。 これは環境変数MALLOC_CHECK_に特定の値を設定する事により、ライブラリ側にデバッグ機能使用の通知を行いチェック機能を働かせるものです。この機能はmallocのmanにも書かれています。ここではライブラリでの内部的な処理についても述べて行きます。 MALLOC_CHECK_の値はpublic_mALLOc()コール時の最初の処理でcheck_actionという静的変数に設定されます。これは、public_mALLO

    iww
    iww 2010/03/15
    MALLOC_CHECKについて
  • Manpage of MALLOC

    Section: Linux Programmer's Manual (3) Updated: 2008-04-05 Index JM Home Page roff page 名前 calloc, malloc, free, realloc - 動的なメモリの割り当てと解放を行う 書式 #include <stdlib.h> void *calloc(size_t nmemb, size_t size); void *malloc(size_t size); void free(void *ptr); void *realloc(void *ptr, size_t size); 説明 calloc() は size バイトの要素 nmemb 個からなる配列にメモリを割り当て、 割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼロ (全ビットがゼロのバイト) にセットされる。

    iww
    iww 2008/12/04
    MALLOC_CHECK_,/proc/sys/vm/overcommit_memory,abort,OOM killer
  • 1