데비안 시스템에 지정된 양의 활성 스레드를 생성하는 프로그램이 있습니다. 내가 100 이상을 만들려고 할 때 OS 제한에 도달했을 때 "스레드를 만드는 중 오류가 발생했습니다"라는 오류가 발생하고 컴퓨터가 들어오는 연결을 허용하지 않고 명령을 실행할 때 "bash : fork : 메모리를 할당 할 수 없습니다" . 최고 명령을 살펴보면 작업이 32564로 최대화되고 있으며 RAM의 20 % 만 활용 중입니다. 나는 ulimit -a & -n을 500000으로 편집하고 -s를 81920으로 편집하려고했지만 여전히 아무 것도하지 않습니다. 어떤 도움을 주셔서 감사합니다 /.데비안에서 쓰레드가 부족합니다.
0
A
답변
0
내 경험에 비추어 볼 때, CPU를 사용하는 프로세스의 성능을 향상시키기 위해 스레드를 사용할 때는 하이퍼 스레드 시스템을 제외하고 코어와 동일한 수의 스레드를 사용하는 것이 좋습니다. 두 배의 코어를 사용하십시오. 결론적으로 볼 수있는 다른 규칙은 I/O 바인딩 프로세스입니다. 이 규칙은 하이퍼 스레드 시스템의 경우를 제외하고는 코어 당 스레드 수를 4 배로 늘린 다음 코어 당 스레드 수를 4 배로 늘릴 수 있습니다. 그래서 어쨌든 100 개의 스레드를 만들어서는 안됩니다. 그냥 "충분"하십시오.
관련 문제
- 1. 데비안에서 사용 가능한 메모리 검사
- 2. 데비안에서 pygsl
- 3. 하나의 스레드에서 쓰레드가 쓰레드가 하나의 테이블에 쓰고 다른 쓰레드가 다른 테이블에서 데이터를 액세스하고있다
- 4. 메인 쓰레드가 하스켈에서 모든 자식 쓰레드가 끝나기를 기다리는 방법
- 5. 자바 쓰레드가 시작되지 않는다
- 6. 자바 쓰레드가 어떻게 알리는가?
- 7. 자바에서 쓰레드가 어떻게 작동합니까?
- 8. 공항 동기화 - 쓰레드가 걸림
- 9. 일반적으로 쓰레드가 언제 생성되어야합니까?
- 10. Java 쓰레드가 적절하게 해제됩니다.
- 11. android에서 쓰레드가 작동하지 않는다.
- 12. 리눅스에서 자바 쓰레드가 자고있다
- 13. MySQL 쓰레드가 빠르게 생성됨
- 14. Websphere 쓰레드가 고갈 됨
- 15. NSOperationQueue 쓰레드가 느리게 디스패치됩니까?
- 16. 쓰레드가 simultaniously로 실행 중임
- 17. 활동이 끝나면 쓰레드가 죽는가?
- 18. 안드로이드 쓰레드가 작동하지 않습니다.
- 19. 자바에서 쓰레드가 NullPointerException을 받고있다
- 20. 데비안에서 메이븐과 RPM 빌드하기
- 21. 데비안에서 libvirt 컴파일하기
- 22. 데비안에서 대용량 CSV 줄이기
- 23. 데비안에서 mkdir로 dir 만들기
- 24. 데비안에서 Chrooted 사용자 생성
- 25. 데비안에서 PHP 5.4로 업데이트
- 26. 데비안에서 Courguette을 작성하는 방법
- 27. 데비안에서 xdebug를 제거하려면 어떻게해야합니까?
- 28. 데비안에서 tophat를 설치하는 방법?
- 29. 데비안에서 Cronjob이 작동하지 않습니다.
- 30. 데비안에서 cvs로 변환하기
최대 사용자 프로세스 수를 늘리지 않는 이유는 무엇입니까 ('ulimit -u')? – myaut
일부 [PAM] (https://en.wikipedia.org/wiki/Pluggable_authentication_module) 제한이 될 수 있습니다. '/etc/security/limits.conf' 등을보십시오. 그러나 값 비싼 멀티 소켓 서버가 없다면 100 * runnable * 스레드를 만드는 것은 무리가 있습니다. –
100 개가 넘는 스레드가 정말로 필요합니까? OS는 여전히이 스레드를 다른 스레드와 교환해야한다는 것을 기억하십시오. 별도의 코어에서 스레드를 독점적으로 실행하도록 OS에 알리지 않는 한, 스레드를 다른 프로세스와 스왑해야합니다. –