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


2
ddを実行しています。リソースがビジーなのはなぜですか?
microSDカードをフォーマットしましたが、ddコマンドを実行したいと思います。残念ながら、ddコマンドは失敗します: $ sudo dd bs=1m if=2016-02-26-raspbian-jessie-lite.img of=/dev/rdisk2 dd: /dev/rdisk2: Resource busy $ インターネット上の誰もが、最初にディスクをアンマウントする必要があると言っています。確かに、それをして先に進むことができます。しかし、OS Xでデバイスをビジーにしている理由を正確に知りたいのですが。これを診断するにはどうすればよいですか? これまで私は試しました: 開いているファイルのリスト: $ lsof /dev/disk2 $ lsof /dev/disk2s1 $ また: $ lsof /Volumes/UNTITLED $ ファイルで作業しているユーザーのリスト: $ fuser -u /dev/disk2 /dev/disk2: $ fuser -u /dev/disk2s1 /dev/disk2s1: $ また: $ fuser -u /Volumes/UNTITLED $ システムメッセージを確認します。 $ sudo dmesg …
32 osx  dd  sd-card  resources 

1
プログラムが終了した後、リスニングTCPポートをクリーニングするのに最大で数分かかるのはなぜですか?
TCPポートでリッスンしているプログラムを強制終了した場合、ポートがシステムによって回収されて再び使用可能になるまでに数分かかります。この現象に言及しているQ / Aがいくつかありますが、説明はありません。なぜそれが起こるのですか、なぜシステムはすぐにポートを回収しないのですか?WindowsやMacなどの別のシステムでも発生しますか?

1
cgroupsを使用して、ホワイトリストを除くすべてのプロセスを単一のCPUに制限する方法は?
Red Hatのcgroupsのガイドがありますが、これは一種の役に立つかもしれません(ただし、この質問には答えていません) 特定のプロセスを開始するコマンドの実行中に、特定のプロセスを特定のCPUに制限する方法を知っています。 まず、以下を*に入れます/etc/cgconfig.conf。 mount { cpuset = /cgroup/cpuset; cpu = /cgroup/cpu; cpuacct = /cgroup/cpuacct; memory = /cgroup/memory; devices = /cgroup/devices; freezer = /cgroup/freezer; net_cls = /cgroup/net_cls; blkio = /cgroup/blkio; } group cpu0only { cpuset { cpuset.cpus = 0; cpuset.mems = 0; } } そして、プロセスを開始し、次を使用してそのcgroupにそれを明確に割り当てます: cgexec -g cpuset:cpu0only myprocessname 特定のプロセス名のすべてのインスタンスを自動的に制限するには、(これは正しいと思います)に以下を入力し/etc/cgrules.confます。 …

7
全体的なCPU消費を制限する方法はありますか?
私のラップトップ(i3チップを搭載したHP)は、リソースを大量に使用するプロセス(大規模なコンパイル、大きなtarballの抽出、または... Flashの実行など)を実行するたびに異常に過熱します。 現在、いくつかの冷却ソリューションを検討していますが、グローバルなCPU消費を制限するというアイデアを得ました。CPUに上限があると、温度が急激に上昇しなくなる可能性があり、ジョブを完了するためにパフォーマンスを少し犠牲にしたいと考えました。 私の推論は間違っていますか? CPU使用率を全体的に制限するにはどうすればよいですか? うまくいけば、Debianを実行しています。
23 linux  cpu  resources 


2
パイプとhere文字列を使用したリソース使用量
次の2つを使用して、同じ結果を得ることができますbash。 echo 'foo' | cat そして cat <<< 'foo' 私の質問は、使用されるリソースに関する限り、これら2つの違いは何ですか、どちらが良いですか? 私の考えでは、パイプを使用している間、余分なプロセスechoとパイプを使用しているのに対し、ここでは文字列ではファイル記述子のみが使用されていcatます。
16 bash  pipe  resources 

3
プロセスとその子の合計リソース(メモリ)を制限する方法
単一のプロセスのリソースを制限することについては、多くの質問と回答があります。たとえば、RLIMIT_ASを使用して、などのVIRTと見なすことができるプロセスによって割り当てられる最大メモリを制限できますtop。もっとここで例えばトピックに関する特定のプロセスがUNIXで使用できるメモリの量を制限する方法はありますか? setrlimit(2) ドキュメントは言う: fork(2)を介して作成された子プロセスは、その親のリソース制限を継承します。リソース制限はexecve(2)全体で保持されます。 次のように理解する必要があります。 プロセスのRLIMIT_ASが2GBなどの場合、2GBを超えるメモリを割り当てることはできません。子が生成されると、2GBのアドレススペース制限が子に渡されますが、カウントは0から始まります。2つのプロセスを一緒にすると、最大4GBのメモリを使用できます。 しかし、プロセスのツリー全体によって割り当てられたメモリの合計を制約する便利な方法は何でしょうか?

1
「memfd」を「ファイルを所有するプロセス」に説明されていると考えるのは間違っていますか?
https://dvdhrm.wordpress.com/2014/06/10/memfd_create2/ 理論的には、次のmemfd_create()ような新しいsyscallを導入せずに[ ]動作を実現できます。 int fd = open("/tmp", O_RDWR | O_TMPFILE | O_EXCL, S_IRWXU); (ここでtmpfsをより移植可能に保証するには、「/dev/shm」の代わりに「/tmp」を使用できます)。 したがって、最も重要な質問は、なぜ地獄には第三の方法が必要なのかということです。 [...] バッキングメモリは、ファイルを所有するプロセスに割り当てられ、mount-quotasの影響を受けません。 ^この文の最初の部分は信頼できないと思うのは正しいですか? memfd_create()コードは、文字通り「として実装されているカーネル内部でなければならない[A] TMPFSにリンクされていないファイル・リビング」。コードをトレースすると、LSMチェックを実装していない点が異なることを理解しています。また、ブログ投稿で説明しているように、「シール」をサポートするためにmemfdsも作成されています。ただし、me​​mfdsが原則としてtmpfileとは異なる方法で説明されることは非常に懐疑的です。 具体的には、OOM-killerがノッキングを起こすと、memfdsが保持しているメモリを考慮しないと思います。これは、RAMの最大50%(tmpfsのsize =オプションの値)になります。カーネルは内部tmpfsに異なる値を設定しないため、デフォルトサイズの50%を使用します。 したがって、一般に、大きなmemfdを保持するプロセスを期待できるが、他の重要なメモリ割り当てはOOMで強制終了されないでしょう。あれは正しいですか?

2
topの%MEMとVSZはどういう意味ですか?
スワップパーティションのない組み込みLinuxシステム(128MB RAM)で作業しています。以下はそのトップ出力です。 Mem: 37824K used, 88564K free, 0K shrd, 0K buff, 23468K cached CPU: 0% usr 0% sys 0% nic 60% idle 0% io 38% irq 0% sirq Load average: 0.00 0.09 0.26 1/50 1081 PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND 1010 1 root S 2464 2% …

2
フォークボムを防ぐ方法は?
フォーク爆弾を防ぐために、私はこのhttp://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htmをフォローしました ulimit -aは新しい設定を反映しますが、(のようrootにbash)実行すると:(){ :|:&};:、VMは最大CPU + RAMのままになり、システムがフリーズします。 フォークボムを使用したり、バグのあるアプリケーションを実行したりして、ユーザーがシステムをダウンさせないようにする方法は? OS:RHEL 6.4

1
(最新の)Linuxでは 'ulimit -m'は機能しませんか?
この記事は、最新のLinuxでは何もしないという-m旗を掲げてulimitいます。この主張を裏付けるものは他にありません。正確ですか? 最大常駐セットサイズ(ulimit -m)を設定して、プロセスのメモリ使用量を制限しようとする場合があります。これはLinuxには影響しません。man setrlimitは、以前のバージョンでしか機能しなかったと述べています。代わりに、仮想メモリの最大量を制限する必要があります(ulimit -v)。 Linuxの古いバージョンで機能したことが本当なら、どのバージョンがこれをサポートしなくなったのですか?

2
確認方法、どの制限を超えましたか?(ulimitのためにプロセスが終了しました。)
プロセスが無制限の環境で実行されると仮定しましょう: ( ulimit ... -v ... -t ... -x 0 ... ./program ) プログラムは終了します。 多くの理由が考えられます。メモリ/時間/ファイルの制限を超えています。単純なセグメンテーションフォルト。または戻りコード0での正常終了。 プログラムを変更せずに、プログラムが終了した理由を確認するにはどうすればよいですか? PS私は「バイナリが与えられたとき」を意味します。多分いくつかのラッパー(ptrace-ingなど)が役立つでしょう。

4
Linuxソースの過去のソースコードはどこにありますか
Linuxの進化について研究したい。 したがって、私がLinuxのソースを(1991年から現在までの)いくつかの瞬間にダウンロードできたら、すばらしいと思います。 これらのソースを見つけることができるサイトはありますか? 他のUnixベースのオペレーティングシステムの同様のサイトも歓迎します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.