pthreads

mysqld 스레드 수가 max_connections를 초과합니다.
pthreads

mysqld 스레드 수가 max_connections를 초과합니다.

질문 제목에서 알 수 있듯이 파일 max_connections = 2에 설정했지만 my.cnfmysql 데몬을 활성화하면 스레드 수가 37입니다. 온라인으로 검색하고 있지만 내 기대가 틀렸다는 징후를 찾을 수 없습니다. 나는 max_connections이 지시사항을 올바르게 이해하고 있습니까? 이것이 스레드 수를 제한하지 않는 이유를 제안할 수 있는 사람이 있습니까? 해결책을 시도해 보세요 mysql CLI 클라이언트를 통해 mysql 전역 변수를 쿼리합니다. | Variable_name ...

Admin

스케줄러에 의해 pthread가 중단되는 것을 방지할 수 있습니까?
pthreads

스케줄러에 의해 pthread가 중단되는 것을 방지할 수 있습니까?

저는 4코어 ARM CPU를 사용하여 임베디드 실시간 Linux 장치를 작성하고 있습니다. 10kHz에서는 주기적인 계산이 필요하며, 이는 지터가 너무 심해져서 손실되어서는 안 됩니다. 내 POSIX 스레드는 사용 중인 루프에서 하드웨어가 제공하는 10kHz 토글 레지스터를 읽고 비트가 토글될 때 계산을 수행할 수 있습니다. SCHED_RR스케줄러가 pthread를 중단하는 것을 방지하기 위해 특별히 이 스레드에 대해 CPU 선호도를 코어 2로 설정하고 우선 순위를 99(최대)로 설정했습니다. 몇몇 ...

Admin

하위 스레드가 상위 스레드의 cgroup에 자동으로 들어가는 것을 방지하는 방법이 있습니까?
pthreads

하위 스레드가 상위 스레드의 cgroup에 자동으로 들어가는 것을 방지하는 방법이 있습니까?

나는 내가 만든 Linux cgroup에 애플리케이션 스레드 중 일부를 명시적으로 작성합니다. cpu예를 들어 지금은 v1에 대해 이야기하지만 v2에 대한 방법을 알고 있다면 좋을 것입니다. 그러나 하위 스레드( pthread_create()상위 스레드의 호출로 생성되거나 cgroup에 명시적으로 기록되거나 상위 스레드 다음에 다시 작성된 스레드)도 직접 작성하지 않고도 cgroup에 나타나는 것을 볼 수 있습니다. 이는 애플리케이션에 나쁜 영향을 미칠 수 있습니다. 일부 스레드가 예기치 않게 cgr...

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

단순 스캔은 시작 시 거의 즉시 충돌합니다.

데비안에서 사용하고 있는데 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...

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/libpthread.so...

Admin

Xlib: GUI 디지털 시계의 가장 좋은 구현은 무엇입니까?
pthreads

Xlib: GUI 디지털 시계의 가장 좋은 구현은 무엇입니까?

저는 디지털 시계가 포함된 X 응용 프로그램을 만들고 있습니다. 시계는 "hh:mm" 형식으로 현재 시간을 표시합니다. Xlib를 마스터하고 싶기 때문에 Xlib만 사용하고 싶습니다(다른 툴킷은 사용하지 않음). 시계는 1분마다 새로 고쳐져야 합니다. 시계를 새로 고치기 위해 세 가지 구현 방법을 생각해 냈는데 어느 것이 가장 좋은지 알 수 없습니다. 어느 것이 가장 좋은지 알려주세요. 그리고 다른 더 나은 구현이 있으면 알려 주시기 바랍니다. 첫 번째 구현은 이벤트 루프 내부에서 시계를 새로 고칩니...

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> ...

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 ma...

Admin

여러 스레드에 대한 대기열의 작업 예약
pthreads

여러 스레드에 대한 대기열의 작업 예약

디렉터리 집합(5-300개 파일 사이)의 모든 파일을 처리해야 하는 함수가 있습니다. 사용할 병렬 스레드 수는 사용자가 지정합니다(보통 4개). 아이디어는 4개의 개별 스레드에서 함수를 실행하는 것입니다. 하나의 스레드가 반환되면 다음(5번째) 파일 처리를 시작해야 하며 모든 파일이 완료될 때까지 계속됩니다. Windows에서는 여기서 도움을 WaitForMultipleObjects()받았습니다 bWaitAll=False. 배열에 채우고 채울 수 있는 구조체가 있습니다. map<UINT, str...

Admin

스레드가 실제로 실행될 때 POSIX 스레드 스케줄링 전략과 커널의 완전히 공정한 스케줄러 비교
pthreads

스레드가 실제로 실행될 때 POSIX 스레드 스케줄링 전략과 커널의 완전히 공정한 스케줄러 비교

스레드 설정 전략과 이를 실행할 때 해당 전략을 따르는 방법에 대해 몇 가지 질문이 있습니다. Pthread를 사용하면 스레드의 스케줄링 정책을 설정할 수 있습니다 SCHED_FIFO/SCHED_RR/SCHED_OTHER. Linux 커널이 CFS기본 스케줄러 정책 으로 사용되므로 이 사용자 설정 정책이 어떻게 작동하는지 이해하려고 합니다 . CFS실행 시 사용자 설정 정책을 덮어쓰나요? 그렇다면 pthread 스케줄링 전략의 용도는 무엇입니까? ...

Admin