pthreads

mysqld スレッド数が max_connections を超えています。
pthreads

mysqld スレッド数が max_connections を超えています。

質問のタイトルが示すように、ファイルmax_connections = 2に設定しましたが、my.cnfmysqlデーモンを有効にすると、スレッド数は37です。オンラインで検索していますが、私の期待が間違っているという兆候が見つかりませんでした。私はmax_connectionsこの指示を正しく理解していますか?これがスレッド数を制限しない理由を提案できる人はいますか? 解決策を試してください mysql CLI クライアントを介して mysql グローバル変数を照会します。 | Variable_name | Value ...

Admin

スケジューラによるpthreadの中断を防ぐことはできますか?
pthreads

スケジューラによるpthreadの中断を防ぐことはできますか?

私は4コアARM CPUを使用して組み込みリアルタイムLinuxデバイスを作成しています。 10kHzでは周期的な計算が必要です。これはジッタがひどくなりすぎて失われてはなりません。私のPOSIXスレッドは、使用中のループからハードウェアが提供する10kHzトグルレジスタを読み込み、ビットがトグルされたときに計算を実行できます。 SCHED_RRスケジューラがpthreadを中断するのを防ぐために、特にこのスレッドのCPUアフィニティをコア2に設定し、優先順位を99(最大)に設定しました。他のスレッドの中には、CPU アフィニティが 2 以外のコアに設定され...

Admin

子スレッドが親スレッドのcgroupに自動的に入るのを防ぐ方法はありますか?
pthreads

子スレッドが親スレッドのcgroupに自動的に入るのを防ぐ方法はありますか?

私は私が作成したLinux cgroupにアプリケーションスレッドのいくつかを明示的に書いています。cpuたとえば、今はv1について話していますが、v2の方法を知っていればいいでしょう。 ただし、子スレッド(pthread_create()親スレッドの呼び出しで作成したり、cgroupに明示的に書き込んだり、親スレッドの後に再構築したスレッド)も、直接作成せずにcgroupに表示されることがわかります。 これはアプリケーションに悪影響を及ぼす可能性があります。いくつかのスレッドが予期せずcgroupに到達します。常にこの警告に注意し、スレッドプールなどの事項...

Admin

malloc() によって割り当てられたメモリ領域は何ですか?
pthreads

malloc() によって割り当てられたメモリ領域は何ですか?

私はlibraryを使ってマルチスレッドCプログラムを書いていますpthread。プログラムはmalloc()スレッドとメインスレッドから呼び出されます。返されたメモリアドレスを確認すると、malloc()メインスレッドに返されるアドレスは、malloc()プログラムのヒープ部分アドレスである一般的なアドレス(例:0x80874a0)です。ただし、malloc()(生成された)他のスレッドによって返されたアドレスはpthread_create()少し変わります。アドレスはアドレス空間で高いです(0x7ffa87000a60はスタックセクションのアドレスと少し...

Admin

統計収集
pthreads

統計収集

私はCPUコアで実行されるスレッドを持つ単純なプログラムを書いています。わずかに積極的に回転し、CPUコアを100%使用します。top+でこれを見ることができます1。 N分後に次のことを知りたいです。 カーネルは実行中のスレッドを何度もプリエンプション(中断)しますか? ...

Admin

Linuxでは、シグナルはどのように「配信」されますか?
pthreads

Linuxでは、シグナルはどのように「配信」されますか?

Linuxシグナルを記述するために使用される用語は混乱しています。ほとんどのテキストでは、「信号がプロセスに渡されました」または「信号がスレッドに渡されました」と言います。 私が理解しているように、カーネルがそのハンドラを呼び出すと、シグナルはプロセス内のシグナルハンドラに「転送」されます。プロセス自体は非同期的に実行され、この「転送」プロセスはCPUが割り込みハンドラを呼び出すのと似ています。割り込みハンドラ(信号ハンドラ)はプロセススレッドでもなく、そのプロセスで実行されるスレッドでもありません。そうですか?カーネルによって開始される別のスレッドです。 ...

Admin

単純スキャンは起動時にほぼ直ちにクラッシュします。
pthreads

単純スキャンは起動時にほぼ直ちにクラッシュします。

Debianで使用していますが、simple-scan今はクラッシュし続けます。数ヶ月前はうまくいきました。何かがアップグレードされ(私が実行していたbullseye)問題が発生したと疑われます。 出力内容はsimple-scan次のとおりです。 simple-scan: thread-watch.c:165: avahi_threaded_poll_quit: Assertion `pthread_equal(pthread_self(), p->thread_id)' failed. Abort ldd /usr/bin/simple-scanを...

Admin

リンカーが libpthread を見つけることができません。
pthreads

リンカーが libpthread を見つけることができません。

両方のプログラムの32ビットバージョンを構築しようとしていますが、両方とも同じエラーメッセージが表示されます。 /usr/bin/ld: cannot find /media/34GB/Arquivos-de-Programas-Linux/Glibc-2.17-32bit/lib/libpthread.so.0 上記のパスでGlibcディレクトリを次に移動したので、なぜそれが見つからないのかを明確に理解してください。 /media/34GB/Arquivos-de-Programas-Linux-32bit/Glibc-2.17/lib/libpthre...

Admin

Xlib:GUIデジタル時計の最良の実装は何ですか?
pthreads

Xlib:GUIデジタル時計の最良の実装は何ですか?

私はデジタル時計を含むXアプリケーションを作成しています。時計は「hh:mm」形式で現在の時刻を表示します。 Xlibをマスターしたいので、Xlibだけを使いたいです(他のツールキットは使用しません)。 時計は1分ごとに更新する必要があります。私は時計を更新するために3つの実装方法を考えましたが、どちらが最善かわかりません。どちらが一番良いのか教えてください。そして他のより良い実装があれば教えてください。 最初の実装は、イベントループ内でクロックを更新します。 2番目と3番目の実装は、イベントループの外側でクロックを更新します。 最初の実装は次のとおりです。...

Admin

ユーザープロセスが自分に最高の優先順位を割り当てることを防ぐために、どのようなセキュリティ制御がありますか?
pthreads

ユーザープロセスが自分に最高の優先順位を割り当てることを防ぐために、どのようなセキュリティ制御がありますか?

私はLinuxプロセススケジューラについて学び、pthread_setsched関数について読みました。https://man7.org/linux/man-pages/man3/pthread_setschedparam.3.html 私を驚かせる一つのことは、スレッドが独自の優先順位/カテゴリを変更できることです。プロデューサーやコンシューマーなどの特定のマルチスレッドアプリケーションを構成するためにこれがどのように妥当であるかを知ることができますが、すべてのプロセスが独自の優先順位設定を要求する可能性があるため、システムの安定性のリスクがあるようです。...

Admin

clock_gettimeを呼び出して、LinuxですべてのスレッドのCPU時間を取得できますか?
pthreads

clock_gettimeを呼び出して、LinuxですべてのスレッドのCPU時間を取得できますか?

システムで実行されているスレッドのTIDがわかっている場合は、そのスレッドのpthread CPUクロックIDを簡単に計算できます。しかし、clock_gettime私のプログラムから呼び出してCPU時間を取得できますか?私の実験ではこれは不可能であることを示しましたが、それを確認できるソースを見つけることができませんでした。 そうでない場合、特定のスレッドに対して高解像度CPU時間を取得する方法はありますか?/proc/stat情報は提供されますが、jiffiesよりも正確な情報が必要です。 ...

Admin

pthreadのスタックサイズは制限されません。
pthreads

pthreadのスタックサイズは制限されません。

私のデフォルトのスタックサイズ(ulimit -sに応じて)は8192kBなので、以下のコードを実行しようとすると自然にセグメントが発生します。また、当然、「ulimit -s 9000」を実行すると正常に動作します。ただし、「ulimit -s unlimited」を実行すると、コードsegfaultが再び発生します。どんなアイデアがありますか? 役に立つ場合は、カーネル4.19.0-6とgccバージョンのDebian 8.3.0-6を含むDebian 10を実行しています。 #include <iostream> #include <u...

Admin

pthread_mutex() が実行されたときのプロセス状態は何ですか?
pthreads

pthread_mutex() が実行されたときのプロセス状態は何ですか?

以下はLinuxプロセスの状態です。 R: running or runnable, it is just waiting for the CPU to process it S: Interruptible sleep, waiting for an event to complete, such as input from the terminal D: Uninterruptible sleep, processes that cannot be killed or interrupted with a signal, usually to make ...

Admin

複数スレッドのキューのジョブのスケジュール
pthreads

複数スレッドのキューのジョブのスケジュール

ディレクトリセット(5〜300ファイル間)のすべてのファイルを処理する必要がある関数があります。使用する並列スレッドの数は、ユーザーが指定します(通常4つ)。アイデアは、4つの別々のスレッドで関数を実行することです。 1つのスレッドが返されると、次(5番目)のファイル処理を開始し、すべてのファイルが完了するまで続きます。 Windowsではここで助けをWaitForMultipleObjects()受けましたbWaitAll=False。配列に埋め込むことができる構造体があります。 map<UINT, string>::iterator iter...

Admin

スレッドが実際に実行されるときのPOSIXスレッドスケジューリング戦略とカーネルの完全に公平なスケジューラの比較
pthreads

スレッドが実際に実行されるときのPOSIXスレッドスケジューリング戦略とカーネルの完全に公平なスケジューラの比較

スレッド設定戦略とそれを実行するときにその戦略に従う方法についていくつかの質問があります。 Pthreadを使用すると、スレッドのスケジューリングポリシーを設定できますSCHED_FIFO/SCHED_RR/SCHED_OTHER。 LinuxカーネルがデフォルトのCFSスケジューラポリシーとして使用されるため、このユーザー設定ポリシーがどのように機能するかを理解したいと思います。CFS実行時にユーザー設定ポリシーを上書きしますか?それでは、pthreadスケジューリング戦略の用途は何ですか? ...

Admin