問題タブ [cpu-usage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPでメモリ(RAM)に変数を保持することは可能ですか?
私は PHP で Web サイトの高性能コーディングを研究していて、次のアイデアが頭に浮かびました。
データベースへのアクセスは大量の CPU 使用率を使用することがわかっているため、そのようなデータをキャッシュして HDD に保存します。しかし、サーバーの RAM に保存して、さらに高速にアクセスできるのではないかと考えていました。
c# - CPUがアイドル状態のときにのみ実行するようにC#でスレッドを設定するにはどうすればよいですか?
C# で Windows サービスを作成しています。特定のスレッドに特定のアクションを実行させたいのですが、それは CPU がアイドル状態のときだけです。C#でこれを行う方法はありますか。
python - Python/PySerial と CPU 使用率
30 分ごとに 3 ~ 4 行のデータを受信するシリアル ポートの出力を監視するスクリプトを作成しました。 .
ただし、1 つのシリアル ポートを監視しているだけのプログラムでは、CPU 使用率がかなり高いように見えます。このスクリプトの実行中は、1 つのコアが常に 100% 使用されます。
基本的に、この質問のコードの修正版を実行しています: pyserial - シリアル デバイスから送信された最後の行を読み取る方法
inWaiting() 関数を定期的にポーリングし、inWaiting() が 0 のときにスリープ状態にしようとしました - 1 秒から 0.001 秒までの間隔を試しました (基本的に、CPU 使用率を上げずにできるだけ頻繁に) ) - これは最初の行を取得することに成功しますが、残りのデータを見逃しているようです。
シリアル ポートのタイムアウトを調整しても、CPU の使用率には影響がないようです。また、リッスン機能を独自のスレッドに配置しても影響はないようです (実際に違いを期待したわけではありませんが、試してみる価値はありました)。
- python/pyserial はこれほど多くの CPU を使用する必要がありますか? (これはやり過ぎのようです)
- このクエストで時間を無駄にしているのでしょうか / データが来ないことがわかっている期間、スクリプトをスリープ状態にするようにスケジュールを設定する必要がありますか?
vb.net - while ループで CPU 使用率を制限する方法
while ループの CPU をどのように制限しますか?
この場合、while ループ内のコードは次のとおりです。
しかし、今、ここで問題があります。このループにより、毎秒、1 秒に 1 回、while ループが実行され、wait
サブルーチンがこの遅延を引き起こしています。
これが占有しているCPUを制限するにはどうすればよいですか? 何らかの理由で、私のタスク マネージャーは、この単純なタスクを実行するのに 50 個の CPU を使用していると言っていますが、おそらく 1 つか 2 つしか必要としないはずです。 2 年前のラップトップであることを考えると、これは奇妙です。
どのユーザーもびっくりさせたくないのですが、最近の人々の様子を知っていると....
とにかく、言語は vb.net です。誰か助けてくれませんか?
ありがとう!
EDIT:明確にするために、そのコードはwhileループ自体の中にありませんが、サブルーチンの呼び出しは、つまりwait(1000)
asp.net - ASP.NET HttpWebRequest はリクエストの送信を停止し、CPU 使用率が高くなります
古い ASP.NET アプリケーションがあります。httpWebRequest をリモート REST サーバーに送信し、XML を取得します。ほとんどの場合、アプリケーションは正常に動作します。最近、1 日に数回、CPU 使用率が高い問題が発生しました。
CPU 使用率が高い時間帯に、これらの httpWebRequest 接続を監視しました (w3wp プロセスの netstat をチェックすることによって)。最初に接続が「ESTABLISHED」から「CLOSE_WAIT」状態に変化し、接続がタイムアウトした後、それらの接続が 1 つずつ消え、その後接続がなくなります。
IIS をリセットした後、w3wp.exe プロセスが再び開始されたとき、まだ httpWebRequest ターゲット サーバーへの接続を見つけることができませんでした。そのため、CPU 使用率は常に高いレベルにとどまっています。数回のリセットの後でも、問題は解決しません。いくつかの接続が httpWebRequest ターゲット サーバーへの接続を開始するまで、CPU 使用率が低下しました。
コードが httpWebRequest を適切に処理していないことが問題である可能性があると実際に考えたので、ここに別の質問を投稿しました。.
その質問で述べたように、 のタイムアウト例外もたくさん見つかりましたSystem.Net.HttpWebRequest.GetResponse()
。CPU 使用率が非常に高い場合、5 分以内に 3500 の同じ例外が見つかりました。
何がこの種の問題を引き起こす可能性があり、何が薬である可能性がありますか? アプリケーションがリクエストを送信しないのはなぜですか (netstat に接続がないため)。
念のため、ソースコードを次に示します。
c++ - Windows(win32)でスレッドごとのCPU使用率を取得する方法
Win32 API 関数、C++ または Delphi サンプル コードを探して、スレッドの CPU 使用率 (パーセントおよび/または合計 CPU 時間) (プロセスの合計ではない) を教えてくれます。私はスレッドIDを持っています。
Sysinternals Process Explorer がこの情報を表示できることは知っていますが、プログラム内でこの情報が必要です。
vb6 - VB 6 で現在の CPU と RAM の使用状況を取得するには?
VB 6コードでCPUとメモリの使用量を取得する方法は? ありがとう!
c - CからLinuxでPIDによってプロセスのCPU使用率を計算する方法は?
Linuxで特定のプロセスIDのCPU使用率を[Cで]プログラムで計算したい。
特定のプロセスのリアルタイムの CPU 使用率を取得するにはどうすればよいですか?
さらに明確にするために:
- 提供されたプロセス ID またはプロセスの CPU 使用率を判断できるはずです。
- プロセスは子プロセスである必要はありません。
- 「C」言語でのソリューションが必要です。
c - OSXでのCPU時間の取得
2つのsqliteDBを比較し、json形式でdiffを生成するOSX用のObjective-Cアプリケーションがあります。dbは非常に大きいです(多くのフィールドを持つ10,000アイテム)。このアプリケーションは約55秒で実行される場合があります(CPUの95%を使用)。場合によっては約8分かかります(CPUの12%を使用)。これは同じDBのものです。CPUのごく一部のみを使用している場合は、残りを使用できます。プロセスよりも優先されるものはないようです。コマンドに「nice-20」を追加すると、CPU使用率を確実に取得できるようです。私の質問は
他に何もCPUを使用していない場合、なぜ私のアプリはそれを利用しないのですか?
これを変更するためにプログラムでできることはありますか?
これを変更するためにOSXにできることはありますか?
.net - .NETがCPUを大量に使用するのはなぜですか?これは問題ですか?
(これは一般的な架空の質問であり、.NETは豚であり、理由で物乞いをしていると私は嘆きました。実際には、私の特定のアプリについての質問ではありませんでした。)
現在、C#で古いC++コードを書き直しています。すべてのレガシーアプリケーションを移植しています。最大3%のCPUを使用するC++アプリケーションがあります。ほとんどの場合、それらは何も使用しません。次に、コードを取得し、コピーして貼り付けてから、C#構文と.NETライブラリ、およびBAMに再フォーマットします。50%のCPU。これの理由は何ですか?最初はJITだと思っていたのですが、各コードパスを練習して、全部JITした後も、同じ問題です。
また、メモリが大幅に増加していることに気づきました。フルロードで9MBを使用していたアプリは、10 MBで開始し、50MBで実行するようになりました。ハードウェアは安いと思いますが、その原因を知りたいです。それは警報の原因ですか、それとも.NETはそれだけの豚ですか?
スキート射撃への1つの回答を更新
私はC#に精通しています。私は物事をLinqなどに変更します。私は通常、コードを取得して行数を減らします。.NETでC++の人が間違っていることの例をもう少し挙げていただけますか?
アップデート2
これは一般的な質問でしたが、問題のある特定のアプリは次のとおりです。
パラドックスデータベースからデータを取得するためにODBCドライバーを使用するスレッドがあります。次に、Linqを使用してこれをSQLデータベースに変換し、投稿します。ANTSプロファイラーを実行しましたが、データセットの入力に最も時間がかかるようです。続いてLinqの投稿。私の領域のいくつかがリフレクションの使用法であることは知っていますが、これなしで必要なことを行う方法がわかりません。文字列を文字列ビルダーに変更する予定です。これら2つの間に違いはありますか?
と
すべての文字列の連結をフォーマット文字列に変更しました。それは頭上で減少しませんでした。データリーダーとデータアダプターおよびデータセットの違いを知っている人はいますか?