Ubuntu зависает после выполнения кода python в jupyter notebook

Я попытался выполнить этот код в Windows, и он работал безупречно, но в Ubuntu, как только я запускаю этот код, Ubuntu зависает на 3-4 минут, а затем приходит результат, а затем Ubuntu ведет себя с задержкой, пока я не перезапущу его.

import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
from xgboost import XGBClassifier
import xgboost as xgb
from sklearn.metrics import accuracy_score

dataset_len = 40000000
dlen = int(dataset_len/2)
X_11 = pd.Series(np.random.normal(2,2,dlen))
X_12 = pd.Series(np.random.normal(9,2,dlen))
X_1 = pd.concat([X_11, X_12]).reset_index(drop=True)
X_21 = pd.Series(np.random.normal(1,3,dlen))
X_22 = pd.Series(np.random.normal(7,3,dlen))
X_2 = pd.concat([X_21, X_22]).reset_index(drop=True)
X_31 = pd.Series(np.random.normal(3,1,dlen))
X_32 = pd.Series(np.random.normal(3,4,dlen))
X_3 = pd.concat([X_31, X_32]).reset_index(drop=True)
X_41 = pd.Series(np.random.normal(1,1,dlen))
X_42 = pd.Series(np.random.normal(5,2,dlen))
X_4 = pd.concat([X_41, X_42]).reset_index(drop=True)
Y = pd.Series(np.repeat([0,1],dlen))
df = pd.concat([X_1, X_2, X_3, X_4, Y], axis=1)
df.columns = ['X1', 'X2', 'X3', 'X_4', 'Y']
df.head()


1
задан 31 July 2021 в 00:47

1 ответ

Результаты free -m после запуска кода показывают, что вы заполнили пространство подкачки. Это плохо ; в этот момент вашей системе фактически не хватает памяти. Он не может больше записывать данные для подкачки и должен начать убивать процессы, чтобы освободить память.

Windows имеет динамический размер подкачки, при котором файл подкачки расширяется по мере необходимости. Linux имеет более статичный подход к свопам, где он фиксирован и предварительно выделен. Это, вероятно, приводит к поведению, которое вы видите, потому что Ubuntu начинает убивать процессы, когда вам не хватает памяти.

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

0
ответ дан 20 August 2021 в 10:31

Другие вопросы по тегам:

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