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

プログラムの実行速度

5
シェルでパイプスループットを測定する
データが通過する速度を測定できるシェルコマンドがあるため、パイプ内のコマンドの出力速度を測定できます。代わりに: $ somecommand | anothercommand 次のようなことができます: $ somecommand | ??? | anothercommand そして、スループット統計(バイト/秒)がstderrに出力されると思います。しかし、私は一生その命令が何であったかを思い出すことができません。

5
遅いネットワーク接続でSSH経由でXを高速化する方法は?
低速のネットワーク接続でsshを介してXアプリケーションを高速化するための具体的な推奨事項はありますか?この特定のケースでは、東海岸のラップトップから西海岸にあるサーバーにアクセスしていますが、それも高速ではないDSL接続で行っています。 sshの設定はありますか?一般的なヒントはありますか?


3
awkとgrepを使用したcutの正確な違いは何ですか?[閉まっている]
次の2つの手法を使用して、ファイルから目的の行の2列目を取得できることを知っています。 awk '/WORD/ { print $2 }' filename または grep WORD filename| cut -f 2 -d ' ' 私の質問は: 上記の2つのコマンドの違いは何ですか? どれが最高のパフォーマンスを発揮しますか? を使用するawkよりも使用することの利点は何cutですか? どのオプションがawk私たちに与えてくれますcutか?
30 awk  grep  performance  cut 

12
応答性を高めるためにLinuxデスクトップを調整するにはどうすればよいですか?
物理メモリがなくなるまでLinuxは正常に動作するという経験があります。スワップ領域が使用されるとすぐに、パフォーマンスが著しく低下し、GUIが応答しなくなります。 この問題は特定のディストリビューションやデスクトップに限定されるものではありません。私はいくつか試してみました(そして問題は残っています)。 これについて何ができますか?
30 linux  kernel  performance  io  swap 

4
6 ^ 6 ^ 6の評価におけるpython対bc
とを個別に6^6^6使用pythonして式を評価していますbc。 pythonファイルの内容はprint 6**6**6です。を実行するtime python test.pyと、出力が次のようになります real 0m0.067s user 0m0.050s sys 0m0.011s そして、time echo 6^6^6 | bc私は次の出力を与えたコマンドを実行しました real 0m0.205s user 0m0.197s sys 0m0.005s これらの結果から、pythonとbcでかかったsys時間はそれぞれ11ミリ秒と5ミリ秒であったことが明らかです。bcコマンドは、SYS時間レベルでのpythonを上回ったが、それがに来るとき、ユーザーとリアルタイムのpythonのほぼ4倍高速紀元前よりでした。そこに行ったかもしれないもの。私はプロセス自体に優先順位を与えていません。この状況を理解しようとしています。

11
シェルが「猫の無駄な使用」を自動的に修正しないのはなぜですか?[閉まっている]
多くの人々は、ラインに沿ってコードを含むonelinersとスクリプトを使用します cat "$MYFILE" | command1 | command2 > "$OUTPUT" cat技術的には/usr/bin/cat、コマンドが実行された場合にこれを回避できる新しいプロセス(多くの場合)を開始する必要があるため、最初は「catの無駄な使用」と呼ばれます。 < "$MYFILE" command1 | command2 > "$OUTPUT" シェルは起動するcommand1だけでstdin、指定されたファイルをポイントするだけです。 シェルがこの変換を自動的に行わないのはなぜですか?「猫の無用な使用」構文は読みやすく、無用な猫を自動的に取り除くのに十分な情報がシェルにあるはずです。catシェルはパスにバイナリを使用する内部代わりに、それを実装することができなければならないので、POSIX規格で定義されています。シェルには、1つの引数バージョンのみの実装と、パス内のバイナリへのフォールバックさえ含めることができます。

8
ディスク/ディスクのコピーを遅くする
Linuxでコピープロセスを遅くする方法はありますか? 10GBなどの大きなファイルがあり、別のディレクトリにコピーしたいのですが、フルスピードでコピーしたくありません。もっと速くではなく、1mb / sの速度でコピーしたいとしましょう。標準のLinux cpコマンドを使用したいと思います。 これは可能ですか?(はいの場合、どのように?) 編集:だから、私は達成しようとしているものにもっとコンテキストを追加します。 USB経由で大きなファイルを(ペンドライブ、USBディスクなどに)コピーするときにArchLinuxシステムに問題があります。usbバッファーキャッシュがいっぱいになると、システムが応答しなくなります(マウスが停止することもあります;散発的にしか動きません)。コピー操作はまだ進行中ですが、ボックスの100%のリソースが必要です。コピー操作が完了すると、すべてが正常に戻ります。すべてが完全に応答します。 おそらくハードウェアエラーかもしれませんが、この問題を抱えているマシンが2台あることは知っています(両方ともArchLinux上にあり、1台はデスクトップボックス、2台目はラップトップです)。 これに対する最も簡単で最速の「解決策」は、USBドライブの平均書き込み速度でファイルをコピーすることにより、このバッファがいっぱいになるのを防ぐことです(「本当の」解決策ではなく、単なるい「ハック」です)それで十分でしょう。

1
「ls *」が「ls」よりもずっと長くかかるのはなぜですか?
ディレクトリにいくつかのファイルがあります: $ ls | wc -l 9376 ls *and を使用するのになぜこんなに大きな時間差があるのか​​、誰でも説明できますlsか? $ time ls > /dev/null real 0m0.118s user 0m0.106s sys 0m0.011s そして $ time ls * > /dev/null real 1m32.602s user 0m0.233s sys 0m0.438s さて、これは抜本的な例であり、ディレクトリが一般的な並列ファイルシステム(GPFS)上にあるため、拡張されている可能性があります。しかし、ローカルファイルシステムの速度が大幅に低下することも確認できます。 編集: $ time ls -l > /dev/null real 0m58.772s user 0m0.113s sys 0m0.452s $ time …

9
forとbashの検索
ファイルをループする場合、2つの方法があります。 for-loopを使用します。 for f in *; do echo "$f" done 使用find: find * -prune | while read f; do echo "$f" done これらの2つのループが同じファイルのリストを見つけると仮定すると、パフォーマンスと処理におけるこれら2つのオプションの違いは何ですか?

8
配管、シフト、またはパラメーター拡張はより効率的ですか?
私は単語のスペース区切りリストで互いに離れた一定数の値である特定の値を反復処理する最も効率的な方法を見つけようとしています(配列を使用したくない)。例えば、 list="1 ant bat 5 cat dingo 6 emu fish 9 gecko hare 15 i j" したがって、リストを繰り返し処理し、1、5、6、9、および15のみにアクセスできるようにしたいのです。 編集:リストから取得しようとしている値は、リストの残りの部分と形式が異なる必要がないことを明確にすべきでした。それらを特別なものにしているのは、リスト内の位置だけです(この場合、位置1,4,7 ...)。リストはそうかもしれません1 2 3 5 9 8 6 90 84 9 3 2 15 75 55が、私はまだ同じ数字が欲しいです。また、リストの長さがわからないと仮定して、できるようにしたいと思います。 私がこれまで考えてきた方法は次のとおりです。 方法1 set $list found=false find=9 count=1 while [ $count -lt $# ]; do if [ "${@:count:1}" …

5
updatedbを無効にすることはできますか?
あるupdatedbすべての必要な?私は決して使用せlocateず、サーバーには数十億のファイルがあり、通常、updatedbを長時間実行し、MySQLや他のソフトウェアに必要なI / Oを消費します。 cronから削除してすべてが機能することを期待できますか?(サーバー上で見られる通常のソフトウェアをすべて意味する:linux、cpanel、mysql、apache、phpなど)。

5
ファイルをメモリに読み込んで2回計算するよりも、2回高速にファイルを繰り返し処理するのはなぜですか?
私は以下を比較しています tail -n 1000000 stdout.log | grep -c '"success": true' tail -n 1000000 stdout.log | grep -c '"success": false' 次の log=$(tail -n 1000000 stdout.log) echo "$log" | grep -c '"success": true' echo "$log" | grep -c '"success": false' 驚いたことに、2番目は最初の2倍近くかかります。それはもっと速いはずですよね?
26 bash  performance  io 

2
強制スワップでOOM-killerをトリガーすることは可能ですか?
システムが非アクティブなページを先取りしてスワップアウトすることは可能ですか(vm.swappiness)、しかし、システムが(メモリ不足ではなく)RAMを使い果たし、スワップを強制されるときにoom-killerを呼び出しますか? 最終的な目標は、主要なページフォールトが原因でディスクのスラッシングが開始されたときにシステムが停止しないようにすることですが、それでも非アクティブなページはスワップアウトされます。 もう1つの要望は、システムがoom-killerトリガーの前に強制的に使用するスワップメモリ​​の量を設定することです。このようにして、システムはあまり遠くに行かない限り、ほんの少しスワップに浸ることができます。または、すべてのRAMを使用する前にoom-killerをトリガーするようにこのようなしきい値を設定して、ファイルシステムキャッシュの領域を常に確保することができます(したがって、ディスクのスラッシングを回避できます)。 これは難しいことではないようです。X ramが使用/無料になったときにシステムがトリガーするようにoom-killerに伝えることができるようです。しかし、これが私が尋ねている理由です。知りません。 明確にするために、スワップをオフにしたり、vm.swappinessパラメーターを調整したりするつもりはありません。

4
Linuxのベンチマークssd:crystaldiskmarkがWindowsで行うのと同じことを測定する方法
ssd(おそらく暗号化されたファイルシステムで)のベンチマークを行い、それをWindowsのcrystaldiskmarkによって行われたベンチマークと比較したいと思います。 それでは、どのようにしてcrystaldiskmarkとほぼ同じことを測定できますか? 最初の行(Seq)については、次のようなことができると思います LC_ALL=C dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc sudo su -c "echo 3 > /proc/sys/vm/drop_caches" LC_ALL=C dd if=tempfile of=/dev/null bs=1M count=1024 しかし、ddパラメーターについてはわかりません。 ランダムな512KB、4KB、4KB(Queue Depth = 32)の読み取り/書き込み速度テストでは、Linuxで測定値を再現する方法がわかりませんか?どうすればこれを行うことができますか? 読書速度をテストsudo hdparm -Tt /dev/sdaするためには、たとえばencfs台紙のようなベンチマークをしたいので、私には意味がないように思えます。 編集 @アルコ、@ iain おそらく、この質問の動機について何かを書く必要があります。私のssdのベンチマークを行い、いくつかの暗号化ソリューションを比較しようとしています。しかし、それは別の質問です(私のシステムでさまざまな暗号化ソリューションをベンチマークする最良の方法)。ssdとベンチマークについてWebでネットサーフィンしている間、ユーザーがCrystelDiskMarkの結果をフォーラムに投稿するのをよく見ました。したがって、これが質問の唯一の動機です。Linuxでも同じことをしたいだけです。私の特定のベンチマークについては、他の質問をご覧ください。

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