問題タブ [sysctl]

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.

0 投票する
1 に答える
236 参照

objective-c - iPhone または iPad を実行している各プロセスの TaskCPUUsage と TaskThreadCount を計算する方法

iPhoneまたはiPadで実行中の各プロセスのTaskCPUUsageとTaskThreadCountを計算する方法..プロセスIDを指定して、そのプロセスの% cpuを計算したいのですが、可能ですか? 可能であればどのように行うのですか?ProcessID、ProcessName、UserName、%CPU、Threads、Real Mem、Virtual Mem、Architecture、CPU Time、Sudden Term を取得する方法。プログラムで、iPhone で実行中のプロセスの値を計算する必要があります。これらのフィールドは、アクティビティ モニター インストゥルメントで確認できます。

0 投票する
1 に答える
77 参照

iphone - 実行しているデバイスを確認し、アクションを実行します

私はこのスクリプトを書きました:

実行した後、メッセージが表示されます。./test: line 5: [: too many argumentsなぜ機能しないのですか?

0 投票する
1 に答える
1214 参照

cpu-usage - BSD /Darwincpu統計

Linuxの最初の行のように、すべてのBSDにCPU統計(カーネル、アイドル、ユーザーなどで費やされた時間)を取得する共通の方法があり/proc/statsますか?

負荷がかかっているシステムを検出しようとしていますが、アクティブなとき(特定のしきい値を超えているとき)は計算を実行しません。私はWindows/Linuxでそれを行う方法を理解しました。

どういうわけかsysctlを使う必要があると思います。私はこれを見つけました:

http://osdir.com/ml/darwin-kernel/2009-06/msg00036.html

これはクロスプラットフォームですか?私は特にこれらのBSDをターゲットにしようとしています:

  • Mac OS 10.6+
  • FreeBSD 8+
  • OpenBSD5+

私はBSDにほんの少ししか精通していないので(私は10代の頃にFreeBSDで少し遊んだ)、どんな助けもいただければ幸いです。

0 投票する
2 に答える
7362 参照

node.js - 多数の同時接続に苦労している Node.js

私は、10,000 個のクライアントがすべて一度に、3 分ごとにデータを送信しようとする正確なタイミングがとられている、少し変わったアプリケーションに取り組んでいます。この「ab」コマンドは、現実世界の 1 つの弾幕をかなり正確にシミュレートします。

これらの送信を収集するために、rackspacecloud VPS インスタンスの Ubuntu 12.4 で Node.js を使用していますが、すべてのビジネス ロジックを削除して http リクエストを no- op。

テストが約 90% 完了すると、長時間ハングします。不思議なことに、これは一貫して 90% で発生します - c=n=10k の場合、9000 で c=n=5k の場合、4500 で。c=n=2k の場合、1800 です。テストは実際には最終的に完了し、多くの場合、エラーは発生しません。ただし、ab ログとノード ログの両方で、テスト実行の約 80 ~ 90% まで継続的な処理が示され、その後、完了する前に長い一時停止が発生します。

ノードがリクエストを正常に処理している場合、CPU 使用率は通常約 50 ~ 70% です。ハング期間中、CPU は 100% まで上昇します。ときどき 0 近くに留まります。不規則な CPU 応答と、実際の接続数 (% 完了のみ) とは無関係に見えるという事実の間で、私はガベージ コレクターを疑いません。

ローカルホストとリモートサーバーで「ab」を実行してみました-同じ効果です。

おそらく接続を閉じることを含む、TCPスタックに関連する何かが疑われますが、構成の変更はどれも役に立ちませんでした。私の変更:

  • ulimit -n 999999
  • listen() すると、バックログを 10000 に設定します

sysctl の変更は次のとおりです。

また、カーネルログに次のメッセージが表示される傾向があることにも気付きました。

TCP バックログ キューは決してオーバーフローしないように十分に深くする必要があるため、このメッセージには困惑しています。syn Cookie を無効にすると、「Cookie の送信」が「接続の削除」になります。

これはある種の Linux TCP スタック チューニングの問題であると推測し、ネットで見つけたほぼすべてのものを読みました。私が試したことは何も問題ではないようです。何かアドバイス?

更新: tcp_max_syn_backlog、somaxconn、netdev_max_backlog、および listen() バックログ パラメータを 50k に設定して試しましたが、動作は変わりません。それでも SYN フラッド警告が生成されます。

0 投票する
2 に答える
2051 参照

c - C コードから kernel.shmmax の値を見つける方法

Cコードでkernel.shmmaxの値を取得したい(シェルコマンド「$ sysctl -q kernel.shmmax」を使用して、centos5.0、centos6.0、およびubuntu10.04でクエリを実行します)。

次のコードを使用して見つけました。

上記のコードを実行すると、次のエラーが発生します。

共有メモリ サイズのクエリ中に、sysctl がエラーを返しました: ディレクトリではありません

このエラーが発生する理由がわかりません。私はそれをグーグルで検索し、ライブラリが調べようとするパスに問題があることを発見しました。

上記のコードを GDB で実行しようとしましたが、コードは関数 sysctl にステップ インしません。それ以外の場合は、より多くの情報を提供できたはずです。

データ ポイント: 次のコマンドを使用して、記載されているすべてのオペレーティング システムのコマンド ラインから kernel.shmmax を簡単に設定および取得できます。

$ sysctl -q kernel.shmmax

$ sysctl -w kernel.shmmax=1000000000

ありがとう

0 投票する
1 に答える
6210 参照

ios - sysctl を使用して iOS で現在実行されているアプリを検出する

現在、iOS で実行中のすべてのプロセスを監視する単純なアクティビティ モニターを実装しています。

実行中のすべてのプロセスのリストを取得するには、次のようにします。

特定のプロセスに関する詳細情報が必要な場合は、次のようにします。

必要な追加の proc 情報はすべて proc に保存されます

アプリが OS によって強制終了されないことに気付きました。アプリが長時間(10分以上)使用されていない場合でも、プロセスリストに残ります。プロセスの「状態」を照会しても (proc->kp_proc.p_stat)、「実行中」が返されます。

私の質問は次のとおりです:現在実行中/アクティブに使用されているPIDを検出する方法を誰かが知っていますか(おそらく:CPU時間の増加?実行時間?CPUティックなど)??

0 投票する
0 に答える
294 参照

objective-c - systcl を使用して他の実行中の iOS アプリを検出する

sysctl() 関数を使用してプロセスの一覧を取得していますが、現在実行中のアプリを検出する方法はありますか? 私のアプリはロケーションベースのアプリで、バックグラウンドで実行されます。特定の時間間隔でフォアグラウンドで実行されているアプリを検出したい。これはまったく可能ですか?

この種のアプリの動作がアップルによって禁止されていることは理解していますが、それでも試してみたいと思います。

0 投票する
1 に答える
4535 参照

objective-c - iOS cpu usage for each process using sysctl()?

Is there a way to get cpu usage for each process using sysctl() ?

特定のアプリケーションの起動を検出する方法を見つけようとしています。フォアグラウンドで実行中のアプリの情報を取得する方法がないようです。したがって、その特定のアプリの CPU 使用率を監視できれば、CPU 使用率の変化を監視して、アプリがいつ起動するかを大まかに推測できると思います。これはまったく可能ですか?

このアプリをアップルのアプリストアに公開する予定はありません。

これはあくまでも研究です。これを行う方法があれば、私は知ってうれしいです。

0 投票する
0 に答える
407 参照

objective-c - Objective C で sysctl を使用してすべての tcp/udp 接続を取得する

すべての tcp 接続を取得するには、MIB 変数として「net.inet.tcp.pcblist」を指定して sysctl を使用できます。しかし、その出力はバイナリ データであり、IP アドレスとアクティブなポートと接続状態を記述する人間が判読できるコンテキストに変換する必要があります。 . Netstat プログラムはこの仕事をしますが、私はそれを理解できませんでした。誰でも netsat のように動作する単純なコードを客観的な C で提供できますか? 前もって感謝します!

0 投票する
1 に答える
1061 参照

iphone - iPhone で sysctlbyname() から取得したバッファ データを読み取るにはどうすればよいですか?

sysctlbyname() を使用して、iPhone で TCP オープン ポート リストを取得しようとしています。

.

この情報は、oldp で指定されたバッファーにコピーされます。

出力::

バッファはここでデータで満たされています.しかし、データを読み取り可能な形式で出力することはできません.このデータを NSString に変換しても、内部的にバッファには独自の構造があるため、役に立ちません.

このデータから出力として TCP オープン ポート リストを取得する方法を知っている人はいますか?

ありがとう。