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

プログラムの実行速度

1
Linuxシステムでバッファとキャッシュを空にするにはどうしますか?
ベンチマーク作業を行う前に、Linuxカーネルがバッファとキャッシュのために消費しているメモリ(RAM)をどのように解放しますか? これは主にベンチマークに役立つことに注意してください。バッファーとキャッシュを空にすると、パフォーマンスが低下します!バッファとキャッシュを解放することは前向きなことだと思ったためにここに来たのであれば、Linuxを読んでRAMを食べてください!。短い話:空きメモリは未使用のメモリは無駄なメモリです。
315 linux  kernel  performance  cache  ram 

8
RAMに十分な空き容量があるのに、なぜスワップを使用するのですか?
RAMの代わりにスワップ領域を使用すると、PCの速度が大幅に低下する可能性があります。 なぜ、十分なRAMを使用できるのに、Linuxシステム(Arch)がスワップを使用するのですか? 以下のconky出力をチェックアウトします。 また、これは私が持っている速度とシステム応答性の問題の原因になる可能性がありますか? 出力free -m: $ free -m total used free shared buffers cached Mem: 1257 1004 252 0 51 778 -/+ buffers/cache: 174 1082 Swap: 502 144 357
124 performance  swap 

6
より積極的なファイルシステムキャッシング用にLinuxシステムを構成できますか?
RAMの使用量(十分だから)も、誤ってシャットダウンした場合のデータの損失についても心配していません(電源がバックアップされているため、システムは信頼でき、データは重要ではありません)。しかし、私は多くのファイル処理を行い、パフォーマンスをいくらか向上させることができます。 そのため、ファイルシステムの読み取りおよび書き込みキャッシュ用により多くのRAMを使用し、積極的にファイルをプリフェッチするようにシステムを設定する必要があります(たとえば、ファイルが同じサイズまたは少なくともそれ以外の場合はその大きなチャンクを先読みし、書き込みバッファーをフラッシュする頻度を減らします。これを達成するにはどうすればよいでしょうか? XUbuntu 11.10 x86でext3およびntfs(ntfsをよく使用します!)ファイルシステムを使用します。

5
ddへのbsパラメータの最適値を決定する方法はありますか?
「デフォルト値には時間がかかりすぎるため、必ず「bs =」を設定してください」という行に沿ってオンラインでコメントを見たことがあります。先週の時間」はそれを支持するようです。そのため、「dd」を使用する場合(通常は1〜2 GBの範囲)、必ずbytesパラメーターを指定してください。約半分の時間で、コピー元のオンラインガイドで指定されている値を使用しています。残りの時間は、「fdisk -l」のリストから意味のある数字を選択します。これは、遅いメディア(たとえば、書き込み先のSDカード)であると推測されるものです。 特定の状況(メディアの種類、バスのサイズなど)について、「最適な」値を決定する方法はありますか?判断するのは簡単ですか?そうでない場合、そこにある方法の90〜95%を取得する簡単な方法はありますか。または、「512より大きいものを選ぶだけ」でさえ正しい答えですか? 私は実験を自分で試すことを考えましたが、(多くの作業に加えて)どの要因が答えに影響するかわからないので、良い実験を設計する方法がわかりません。


4
ダッシュまたは他のシェルはbashよりも「高速」ですか?
私はいつも、bashの代わりにdashを使用することの唯一の利点は、dashが小さいことであり、したがって、dashの多くのインスタンスがブート時に高速に起動するだろうと考えていました。 しかし、私はいくつかの研究を行い、より速く実行されることを期待して、すべてのスクリプトをダッシュ​​に移行する人を見つけました。また、Ubuntu Wikiの記事DashAsBinShでこれを見つけました。 デフォルトのシェルを切り替える主な理由は効率性です。bashは、インタラクティブな使用に適した優れたフル機能のシェルです。確かに、それはまだデフォルトのログインシェルです。ただし、ダッシュボードと比較すると、起動と操作がかなり大きく、遅くなります。 最近、システム上の多くのことに多くのbashスクリプトを使用していますが、私の問題は、24時間年中無休で実行している特定のスクリプトがあることです。通常の使用法よりもC。 それは多くのバシズムを伴うかなり大きなスクリプトであるため、それらをPOSIXまたは他のシェルに移植するのは非常に時間がかかります(そしてPOSIXは個人的な使用にはあまり関係ありません)が、これのいくつかを減らすことができれば価値があるCPU使用率。のようsedな単純なbashismのような外部バイナリを呼び出す${foo/bar}、またはのgrep代わりに、考慮すべき他の事柄もあることを知っています=~。 TL; DRはダッシュと比較してbashの起動と操作が本当に遅いですか?bash よりも効率的な他のUnixシェルはありますか?
57 bash  performance  dash 

4
不要な猫を気にする必要がありますか?
多くのコマンドラインユーティリティは、パイプまたはファイル名引数から入力を取得できます。長いシェルスクリプトのcat場合、特に最初のコマンドに複数行の引数が必要な場合は、チェーンを開始すると読みやすくなります。 比較する sed s/bla/blaha/ data \ | grep blah \ | grep -n babla そして cat data \ | sed s/bla/blaha/ \ | grep blah \ | grep -n babla 後者の方法は効率が悪いですか?その場合、スクリプトが実行されるかどうか、たとえば1秒間に1回実行されるかどうかを考慮するのに十分な違いはありますか?読みやすさの違いはそれほど大きくありません。

2
egrep [wW] [oO] [rR] [dD]がgrep -i wordよりも速いのはなぜですか?
私はgrep -iより頻繁に使用していますが、egrep各文字の大文字または小文字と一致する同等のものよりも遅いことがわかりました: $ time grep -iq "thats" testfile real 0m0.041s user 0m0.038s sys 0m0.003s $ time egrep -q "[tT][hH][aA][tT][sS]" testfile real 0m0.010s user 0m0.003s sys 0m0.006s しgrep -iない追加のテストをegrep行いますか?
49 grep  performance 

1
グラフィカルなファイル検索ユーティリティと比較して、GNUが非常に高速に検索されるのはなぜですか?
ホームディレクトリとすべてのサブディレクトリに存在しないファイルを見つけようとしています。 find ~/ -name "bogus"数秒後にその情報が提供されますが、KDEのdolphinファイルマネージャーは同じことを行うのに約3分かかりました。これは、以前のGNOMEでのbeagle経験に対応しています。 findグラフィカルな検索(コマンドラインパラメーターよりも直感的に使用できます)が遅れている間、どのようにして同じように非常に高速に処理できますか?

2
UNIXソケットとTCPポートのパフォーマンス
php-fpmの例: #listen = 127.0.0.1:9000 listen = /var/run/php-fpm/php-fpm.sock TCPポートでUNIXソケットベースのリスナーを使用する場合、パフォーマンスに大きな違いはありますか?(PHPだけでなく、一般的なものです。サービスごとに異なりますか?)

4
多くの小さなファイル(SSDではなくHDD)を保存するための最も高性能なLinuxファイルシステムは何ですか?
多数の小さなファイルと少数の大きなファイルを含むディレクトリツリーがあります。ファイルの平均サイズは約1キロバイトです。ツリーには210158個のファイルとディレクトリがあります(この番号はを実行して取得されましたfind | wc -l)。 週に数回、ファイルのごく一部が追加/削除/書き換えされます。これは、小さなファイルだけでなく、(少数の)大きなファイルにも適用されます。 私が試したファイルシステム(ext4、btrfs)には、ディスク上のファイルの配置にいくつかの問題があります。長い時間をかけて、ディスク上のファイル(物理ディスクではなく回転メディア)の物理的な位置がよりランダムに分散されています。このランダムな分布のマイナスの結果は、ファイルシステムが遅くなっていることです(たとえば、新しいファイルシステムよりも4倍遅い)。 このパフォーマンス低下の影響を受けず、回転メディア上で安定したパフォーマンスプロファイルを維持できるLinuxファイルシステム(またはファイルシステムメンテナンスの方法)はありますか?ファイルシステムはFuseで実行できますが、信頼性が必要です。

4
grep:メモリを使い果たしました
私は非常に簡単な検索を行っていました: grep -R Milledgeville ~/Documents そして、しばらくしてからこのエラーが現れました: grep: memory exhausted どうすればこれを回避できますか? 私のシステムには10GBのRAMがあり、いくつかのアプリケーションが実行されているので、単純なgrepでメモリが不足していることに本当に驚いています。~/Documents約100GBで、あらゆる種類のファイルが含まれています。 grep -RI この問題はないかもしれませんが、バイナリファイルも検索したいです。

3
VirtualBox:物理CPUコアの数よりも多くの仮想CPUコアを割り当てることは悪い考えですか?
ハイパースレッディング対応のCPU を持っているので、次の警告が示すように、物理CPUコアの数よりも多くの仮想CPUコアを割り当てるのは悪い考えでしょうか。 転写: 仮想マシンには、ホストシステム上の物理CPUの数よりも多くの仮想CPUが割り当てられます。これにより、仮想マシンのパフォーマンスが低下する可能性があります。仮想CPUの数を減らすことを検討してください。 誰かがこのトピックに推論を置くことができますか? EDIT1: 問題のCPUはIntel Core i7-4700HQ、Ark Intel、CPUベンチマークです EDIT2: 仮に、HDD(SSDの代わりに)や低RAM(ここでは16GB、最小vm.swappinessでこのVMに4GB )などの古いハードウェアはありません。


7
ディレクトリを常にキャッシュに入れます
私はc ++プロジェクト全体をコンパイルするのにかかる時間を改善するために、さまざまな方法を試してきました。現在、約5分かかります。distcc、ccacheなどを試してみました。最近、プロジェクト全体をRAMドライブにコピーし、そこからコンパイルすると、コンパイル時間が元の30%(わずか1.5分)に短縮されることを発見しました。 明らかに、RAMドライブからの作業は実用的ではありません。だから、誰かがOSに特定のディレクトリを常にキャッシュしておくように強制する方法を知っていますか?私はまだ通常のようにディレクトリをディスクに同期して戻したいのですが、常にメモリ内のデータのコピーも必要です。これは可能ですか? 編集: 可能な解決策としてrsync、ディスクドライブをRAMドライブと同期するために10秒ごとに実行されるデーモンを起動することを考えました。次に、RAMドライブからコンパイルを実行します。rsync速く燃えるれるが、これは実際に動作しますか?確かにOSの方がうまくいく可能性があります。...

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