Как управлять ЦП интенсивный процесс на сервере

Подход заключается в том, чтобы использовать нарезку индекса кадра данных с помощью pd.concat для построения полной логической серии:

import numpy as np
import pandas as pd
np.random.seed(0)
df=pd.DataFrame(np.random.randint(0,50,60))

df[pd.concat([df.iloc[:10] > 10, df[11:40] < 30, df[41:] % 2 == 0])]

Где первые 10 записей фильтруют менее 10, следующие 30 фильтров значений больше 30, а последние значения проверяют четные числа.

Затем вы можете использовать dropna, чтобы удалить все значения NaN

Вывод:

      0
0   44.0
1   47.0
2    NaN
3    NaN
4    NaN
5   39.0
6    NaN
7   19.0
8   21.0
9   36.0
10   NaN
11   6.0
12  24.0
13  24.0
14  12.0
15   1.0
16   NaN
17   NaN
18  23.0
19   NaN
20  24.0
21  17.0
22   NaN
23  25.0
24  13.0
25   8.0
26   9.0
27  20.0
28  16.0
29   5.0
30  15.0
31   NaN
32   0.0
33  18.0
34   NaN
35  24.0
36   NaN
37  29.0
38  19.0
39  19.0
40   NaN
41   NaN
42  32.0
43   NaN
44   NaN
45  32.0
46   NaN
47  10.0
48   NaN
49   NaN
50   NaN
51  28.0
52  34.0
53   0.0
54   0.0
55  36.0
56   NaN
57  38.0
58  40.0
59   NaN
7
задан Rob Watson 18 March 2009 в 20:54
поделиться

2 ответа

Принятие его является сервером UNIX, Вы могли использовать хорошую команду для понижения ее приоритета. Это должно добиться цели.

7
ответ дан 6 December 2019 в 21:20
поделиться

Можно использовать cpulimit на основанном на Linux сервере. Это позволит Вам ограничивать использование ЦП (укажите предел как процент), даже сценариев, которые уже начали работать, и его использование довольно просто.

Это доступно на репозитории Debian, таким образом, можно установить его легко использование способности:

apt-get install cpulimit

Типичные способы использовать cpulimit включает:

# To limit CPU usage to 75% of program called foo:
cpulimit -e foo -l 75

# To limit CPU usage to 50% of program with pid = 1582
cpulimit -p 1582 -l 50
5
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: