質問編集履歴
10
fix
title
CHANGED
File without changes
|
body
CHANGED
@@ -81,7 +81,7 @@
|
|
81
81
|
- 3. 実行する
|
82
82
|
```
|
83
83
|
$ ./a.out
|
84
|
-
|
84
|
+
max thread: 10800
|
85
85
|
|
86
86
|
$ touch a
|
87
87
|
-bash: fork: retry: Resource temporarily unavailable
|
9
fix
title
CHANGED
File without changes
|
body
CHANGED
@@ -110,4 +110,14 @@
|
|
110
110
|
max user processes (-u) 257435
|
111
111
|
virtual memory (kbytes, -v) unlimited
|
112
112
|
file locks (-x) unlimited
|
113
|
+
```
|
114
|
+
|
115
|
+
```
|
116
|
+
$ uname -a
|
117
|
+
Linux localhost 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
|
118
|
+
```
|
119
|
+
|
120
|
+
```
|
121
|
+
$ cat /proc/sys/kernel/threads-max
|
122
|
+
514870
|
113
123
|
```
|
8
fix
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Resource temporarily unavailableが発生し、コマンドが実行できない
|
body
CHANGED
File without changes
|
7
ulimitを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -91,4 +91,23 @@
|
|
91
91
|
### 補足情報(FW/ツールのバージョンなど)
|
92
92
|
- Ubuntu 18.04
|
93
93
|
- CPU 32 Core
|
94
|
-
- RAM 64GB
|
94
|
+
- RAM 64GB
|
95
|
+
```
|
96
|
+
$ ulimit -a
|
97
|
+
core file size (blocks, -c) 0
|
98
|
+
data seg size (kbytes, -d) unlimited
|
99
|
+
scheduling priority (-e) 0
|
100
|
+
file size (blocks, -f) unlimited
|
101
|
+
pending signals (-i) 257435
|
102
|
+
max locked memory (kbytes, -l) 16384
|
103
|
+
max memory size (kbytes, -m) unlimited
|
104
|
+
open files (-n) 65536
|
105
|
+
pipe size (512 bytes, -p) 8
|
106
|
+
POSIX message queues (bytes, -q) 819200
|
107
|
+
real-time priority (-r) 0
|
108
|
+
stack size (kbytes, -s) 8192
|
109
|
+
cpu time (seconds, -t) unlimited
|
110
|
+
max user processes (-u) 257435
|
111
|
+
virtual memory (kbytes, -v) unlimited
|
112
|
+
file locks (-x) unlimited
|
113
|
+
```
|
6
fix
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
fixResource temporarily unavailableが発生し、コマンドが実行できない
|
body
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
```
|
49
49
|
|
50
50
|
### 再現方法
|
51
|
-
1. プログラムを書く
|
51
|
+
- 1. プログラムを書く
|
52
52
|
```Source.c
|
53
53
|
#include <stdio.h>
|
54
54
|
#include <pthread.h>
|
@@ -73,12 +73,12 @@
|
|
73
73
|
}
|
74
74
|
```
|
75
75
|
|
76
|
-
2. コンパイルする
|
76
|
+
- 2. コンパイルする
|
77
77
|
```
|
78
78
|
gcc source.c -pthread
|
79
79
|
```
|
80
80
|
|
81
|
-
3. 実行する
|
81
|
+
- 3. 実行する
|
82
82
|
```
|
83
83
|
$ ./a.out
|
84
84
|
Maximum number of thread within a Process is : 10800
|
5
再現方法を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,6 +47,47 @@
|
|
47
47
|
$ reboot
|
48
48
|
```
|
49
49
|
|
50
|
+
### 再現方法
|
51
|
+
1. プログラムを書く
|
52
|
+
```Source.c
|
53
|
+
#include <stdio.h>
|
54
|
+
#include <pthread.h>
|
55
|
+
#include <unistd.h>
|
56
|
+
void *thread ()
|
57
|
+
{
|
58
|
+
sleep(9999);
|
59
|
+
}
|
60
|
+
|
61
|
+
int main()
|
62
|
+
{
|
63
|
+
int err = 0, count = 0;
|
64
|
+
pthread_t tid;
|
65
|
+
|
66
|
+
while (err == 0)
|
67
|
+
{
|
68
|
+
err = pthread_create (&tid, NULL, thread, NULL);
|
69
|
+
count++;
|
70
|
+
}
|
71
|
+
printf("max thread: %d\n", count);
|
72
|
+
getchar();
|
73
|
+
}
|
74
|
+
```
|
75
|
+
|
76
|
+
2. コンパイルする
|
77
|
+
```
|
78
|
+
gcc source.c -pthread
|
79
|
+
```
|
80
|
+
|
81
|
+
3. 実行する
|
82
|
+
```
|
83
|
+
$ ./a.out
|
84
|
+
Maximum number of thread within a Process is : 10800
|
85
|
+
|
86
|
+
$ touch a
|
87
|
+
-bash: fork: retry: Resource temporarily unavailable
|
88
|
+
```
|
89
|
+
|
90
|
+
|
50
91
|
### 補足情報(FW/ツールのバージョンなど)
|
51
92
|
- Ubuntu 18.04
|
52
93
|
- CPU 32 Core
|
4
fix
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Resource temporarily unavailableが発生し、コマンドが実行できない
|
body
CHANGED
File without changes
|
3
fix
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
LinuxResource temporarily unavailable
|
1
|
+
LinuxResource temporarily unavailableが発生し、コマンドが実行できない
|
body
CHANGED
File without changes
|
2
fix
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
- スレッド数が10,000を超えたあたりから`Resource temporarily unavailable`が発生します。
|
6
6
|
- スレッド数を10,000を超えないようにすると`Resource temporarily unavailable`は発生しません。
|
7
|
+
- 以上2点からアプリケーションでは無く、Linux側の問題かと考えています。
|
7
8
|
- スレッドを多く建てる必要があるアプリケーションの為、スレッド数を抑えて解決という事はできません。
|
8
9
|

|
9
10
|
|
1
fix
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,10 @@
|
|
8
8
|

|
9
9
|
|
10
10
|
### 発生している問題・エラーメッセージ
|
11
|
-
touch に限らず他のコマンド
|
11
|
+
- touch に限らず他のコマンドcatやvimコマンドも失敗します。
|
12
|
+
- 恐らく全てのコマンドが実行できないです。
|
13
|
+
- エラー発生前から実行中のプロセスは終了する事なく、問題なく実行され続けます。(htop等)
|
14
|
+
|
12
15
|
```bash
|
13
16
|
# touch hoge
|
14
17
|
-bash: fork: retry: Resource temporarily unavailable
|