タグ付けされた質問 「memory」

コンピューティングでは、メモリは、何らかの物理構造でアクティブに保たれているため、コンピューティングシステムの状態情報を指します。

2
誰かが実際に透明な巨大ページを使用して利益を得ていますか?
私は最近、透過的な巨大ページのパフォーマンスの問題に苦労しており、多くのデータベースシステムがオフにすることを推奨していることに気付きました。私はOracle、Postgresql、MySQL、Cassandra、NuoDB、Redis、Hadoopなどについて話している。 たとえば: Peter Zaitsev(2014-07-23)。なぜTokuDBは透明のhugepagesを嫌っています。ペルコナ。 ミケーレ・ケイシー(2013-09-17)。透明で巨大なページのパフォーマンスの問題。オラクル。 Adam AbrevayaおよびOleg Levin(2014-05-15)。 Linux Transparent Huge Pages、JEMalloc、NuoDB。NuoDB DevCentre。 だから私は思っています:この機能からどのような種類のワークロードが恩恵を受けるのですか?

1
プロセスごと/スレッドごとのメモリ消費量(ヒープ、スタック、データ、コードに分割)を監視するにはどうすればよいですか?
ジャンプして独自のコードを書く前に、QNXにshowmem似たものを出力できるGNU / Linuxソフトウェアがあるかどうかを確認したいと思います。 実行中の各プロセスの各スレッドについて、メモリ消費量を次のカテゴリに分類したいと思います。 Process listing (Total, Code, Data, Heap, Stack, Other) 319488 1024000 24587 167936 24576 0 4103 devc-con-hid (thread 2) 0 0 0 0 4096 0 4103 devc-con-hid (thread 2) 0 0 0 0 20480 0 4103 devc-con-hid (thread 1) 0 102400 8192 0 0 0 4103 devc-con-hid …
11 linux  memory  stack 

2
固定RAMメモリ領域をブロックデバイスとして(所定の開始物理アドレスで)予約します。
RAMディスクについて多くの質問があり、ramをブロックデバイスとして使用できるramfsとtmpfsを知っています。しかし、私の関心は、固定メモリアドレス範囲をブロックデバイスとして使用することです。 これは、私のシステムで利用可能な不揮発性RAMを使用する必要性から生じます。6GBのRAMが利用可能で、8GBの不揮発性RAMが存在します。/ proc / iomemの出力は私に次を与えます 100000000-17fffffff:システムRAM 180000000-37fffffff:予約済み ここで、6GBから14GBの領域は、E820 BIOSメモリマップによって予約済みとしてマークされている不揮発性RAM領域に対応しています。私の主な目的は、このNVRAMをLinuxのブロックデバイスとして使用することです。これは、NVRAMシステムのテストに役立ちます。この領域をブロックデバイスとして使用できるようにするLinuxコマンドはすでに存在しますか?それを容易にするために独自のカーネルデバイスドライバーを作成する必要がありますか?
11 linux  memory  ramdisk 

4
CPU /メモリ使用率が高くなりすぎたときにプロセスを自動的に強制終了するBashスクリプト
CPUやメモリの使用率が80%に達した場合にプロセスを強制終了するスクリプトを作成しました。これが発生すると、強制終了されたプロセスのリストが作成されます。それを改善するために私は何ができますか? while [ 1 ]; do echo echo checking for run-away process ... CPU_USAGE=$(uptime | cut -d"," -f4 | cut -d":" -f2 | cut -d" " -f2 | sed -e "s/\.//g") CPU_USAGE_THRESHOLD=800 PROCESS=$(ps aux r) TOPPROCESS=$(ps -eo pid -eo pcpu -eo command | sort -k 2 -r | grep -v …

3
Linuxでソケットが消費するメモリ量を決定する式は何ですか?
私はいくつかの容量計画を行っており、サーバーで処理できるTCP接続の数を(メモリの観点から)予測するために使用できる式があるかどうか疑問に思っていました。現時点では、必要なのはメモリ要件だけです。 式に現れると私が思ういくつかの変数は: sysctl net.ipv4.tcp_wmem(最小値またはデフォルト値) sysctl net.ipv4.tcp_rmem(最小値またはデフォルト値) sock、sock_common、protoおよびその他のソケットごとのデータ構造のサイズ。 tcp_wmemとtcp_rmemのどれが実際に割り当てられているか、いつそのメモリがいつ割り当てられているかわかりません。ソケット作成時?オンデマンド?
11 linux  memory  tcp 

1
Linuxに、物理的にインストールしたメモリより多いメモリと少ないメモリの両方が表示されるのはなぜですか?
私はスワップについて知っています-この質問はそれについてではありません。dmesgでは、Linux(x86-64)カーネルは、私が持っているメモリの量についてこれを教えてくれます: [ 0.000000] Memory: 3890880k/4915200k available (6073k kernel code, 861160k absent, 163160k reserved, 5015k data, 1596k init) cat /proc/meminfo 私が持っていると私に言います MemTotal: 3910472 kB そして、私の計算では、4 * 1024 * 1024 = 4194304kのRAMが必要です。どちらが道上のdmesgのラインの2番目の図よりも小さいです! これらすべての異なる数字とは何ですか? ちなみに、uname -a出力: Linux pavilion 3.2.2-1.fc16.x86_64 #1 SMP Thu Jan 26 03:21:58 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


1
「キャッシュされた」メモリは事実上無料ですか?
を実行cat /proc/meminfoすると、上部に次の3つの値が表示されます。 MemTotal: 6291456 kB MemFree: 4038976 kB Cached: 1477948 kB 私の知る限り、「キャッシュ」の値はLinuxシステムによって作成されたディスクキャッシュであり、アプリケーションがより多くのRAMを必要とするとすぐに解放されるため、MemFreeとCachedの両方がゼロになるまでLinuxがメモリ不足になることはありません。 残念ながら、 "MemAvailable"は/ proc / meminfoによって報告されません。これは、おそらく仮想サーバーで実行されているためです。(カーネルバージョンは4.4) したがって、すべての実用的な目的のために、アプリケーションで使用可能なRAMはMemFree + Cachedです。 その見方は正しいですか?
11 linux  memory  cache  meminfo 

2
Linuxでアプリケーションが終了した後のピークメモリを測定する方法
Linuxで実行されているアプリケーションのピークメモリを測定するにはどうすればよいですか? このアプリをバッチで実行しているため、RSSを使用できません。現在のメモリを報告するからです。アプリケーションが最後に報告するために使用したピークメモリが必要です。 VmPeakも解決策ではありません。割り当てられたメモリを報告し、実際のRAMからではなく、ハードディスクからも計算するためです。
11 linux  memory 


2
RAMの最適化/ OOMの失敗
この質問はかなり長いので、最初に質問をしてから、質問にたどり着く方法を説明します。 (Busyboxベースの)十分な連続したRAMがなかったため、rmは実行されませんでしたか? その場合、システムの再起動に頼らずにDMAをデフラグする軽量な方法はありますか? そうでない場合、何が原因ですか?どうすれば将来的にそれを防ぐことができますか? この数日間、テストシステムがかなり集中的に実行されていた後、Telnetでシステムにアクセスし、テスト結果を確認しました。データを削除するようになったとき、システムはコマンドラインを返しました(コマンドが正しく実行されたかのように)。別の結果セットをディレクトリで確認するようになったとき、ファイルがまだ存在しているのを確認しました(lsを使用)。 この後、期待どおりに実行されないシェルコマンドが増えていることに気付きました。 rmが正しく実行できなかった後、dmesgからの出力から始めます。 プロセス6821(rm)からの長さ61440の割り当てに失敗しました DMA CPUあたり: CPU 0:hi:0、btch:1 USD:0 Active_anon:0 active_file:1 inactive_anon:0 inactive_file:0 unevictable:6 dirty:0 writeback:0 stable:0 free:821 slab:353 mapped:0 pagetables:0 bounce:0 DMAフリー:3284kB分:360kB低:448kB高:540kB active_anon:0kB inactive_anon:0kB active_file:4kB inactive_file:0kB unevictable:24kB present:8128kB pages_scanned:0 all_unreclaimable?番号 lowmem_reserve []:0 0 0 DMA:31 * 4kB 47 * 8kB 42 * 16kB 64 * …
11 linux  memory  embedded 

1
合計メモリと空きメモリの違いは何ですか
Centos 7がインストールされているデスクトップシステムがあります。4コアと12 GBのメモリを搭載しています。メモリ情報を見つけるには、free -hコマンドを使用します。私には混乱があります。 [user@xyz-hi ~]$ free -h total used free shared buff/cache available Mem: 11G 4.6G 231M 94M 6.8G 6.6G Swap: 3.9G 104M 3.8G 合計欄は、合計11GB(正解)で、最後の欄が利用できるのは6.6GBで使用済みが4.6Gということです。 使用メモリが4.6GBの場合、残りは6.4 GB(11-4.6 = 6.4)になります。上記の出力の正しい解釈とは何ですか?合計メモリと使用可能メモリと空きメモリの違いは何ですか?新しいアプリケーションにさらに1 GBが必要な場合、メモリ不足のケースはありますか?
11 linux  memory  ram 

2
このメモリの問題を適切に解決するにはどうすればよいですか?
私は標準のLinux(Debianテスト)ラップトップとスワップパーティションを持っています。 私はそれで多くの実験をしています。それらのいくつかは本当にメモリを大量に消費し、Linuxがデフォルトでどのように動作するかは私にとって問題です...愚かな例を挙げましょう: ノートパソコンの前に座る ターミナルを開く 入力しpythonた後、a = [0]*100000000 この大きなリストを処理するための十分なRAMがない可能性が高くなっています。LinuxがRAMを埋め、次にスワップを行い、数分後にOOMキラーがトリガーされ、(ほぼ)ランダムなサービスが強制終了されます。うまくいけば、Ctrl + Cを押すpythonと、ターミナルがまだフォーカスがあったので、コンピュータは再び反応するようになります。 いくつかのメモリ制限を適用して、不要なスワッピングを回避し、(RAMに)持っているよりも多くのメモリを割り当てる権利をプロセスに拒否したいと思います。メモリ要求が特定の制限を下回っている場合、またはrootから要求された場合は、root以外のユーザーのメモリを最も消費しているプロセスを強制終了します。 ulimit -Sv [mem] 後ろで聞く! ホーホー!「cgroups経由で使用してくださいcgexec!」誰かが最初の行で言う! はい、そうです。これらは確かに非常に優れたソリューションです。だが: システム全体には適用されません 制限はプロセスごとに設定されます 制限は静的であり、実際の空きRAM量を無視します(AFAIK) こことそこに、彼らが言うこれらは本当にハード制限を強制するための良い解決策ではありません。 カーネルが言うことは、「あなたはユーザーfoo(rootではなく)に属しています。大量のメモリを使用しているので、メモリが足りなくなります。ごめんなさい...今すぐ死にます!」 または:「一体何をしているのですか?x MB が必要で、y MB しか利用できません。はい、SWAPは空ですが、SWAPを使用してダーティな作業を行うつもりはありませんか?いいえ、私はいいえと言った!記憶はない!主張すれば死ぬぞ!」
10 memory  limit  cgroups  ulimit 

2
十分なメモリがあるのになぜ「スワップオフ」できないのですか?
私のシステムには多くのメモリがあるにもかかわらず、最近気づきました。 # free -m total used free shared buffers cached Mem: 15965 9680 6284 35 1754 2560 -/+ buffers/cache: 5365 10599 Swap: 2047 258 1789 swapoff -a2Gスワップファイルではできません -rw-r----- 1 root root 2.0G Feb 9 21:34 /2GB.swap 次のカーネルパラメータを変更しましたが、sysctlそれが原因であるはずです。 vm.swappiness = 5 vm.vfs_cache_pressure = 200 理由: # swapoff -a swapoff: /2GB.swap: swapoff …
10 linux  memory  swap 

1
4GBのメモリを何が使用していますか?(キャッシュではなく、プロセスではなく、スラブではなく、shmではありません)
数日または数週間にわたってメモリリークが発生するEC2サーバーがいくつかあります。最終的には(freeおよびのようなツールによるとhtop)使用されるメモリが数GBになり、サーバーを再起動しない場合、プロセスでOOMが強制終了されます。 そのようなサーバーの1つに15 GBのRAMがあります。これが出力ですfree -m: total used free shared buffers cached Mem: 15039 3921 11118 0 0 7 -/+ buffers/cache: 3913 11126 Swap: 0 0 0 このサーバーはアイドル状態です。ほとんどのユーザーランドプロセスを終了しました。htopのプロセスで> 100k VIRTが表示されていません。私は最近実行しましたがecho 3 > /proc/sys/vm/drop_caches、効果はありませんでした(そのためbuffers、cachedとても小さくなります)。さらに: 中に入って/proc/slabinfo、slabtop有望なものは何も表示されない / run / shmには何もありません これが出力ですcat /proc/meminfo: MemTotal: 15400880 kB MemFree: 11385688 kB Buffers: 564 kB Cached: 7792 kB …
10 memory  meminfo 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.