BASH Script зависает после некоторой обработки на моем рабочем столе под управлением Ubuntu 18, а также отлично работает на сервере Red Hat - PullRequest
0 голосов
/ 31 января 2019

Я запускаю приведенный ниже скрипт на сервере Red Hat, и он работает нормально и завершает работу.файл, который я передаю, содержит полмиллиона строк (примерно 500000 строк), и поэтому (чтобы закончить его быстрее) я добавил '&' в конце цикла while

Нотеперь я настроил рабочий стол с 8 ГБ оперативной памяти, на котором работает Ubuntu 18.04, и тот же код запускает только несколько тысяч строк, а затем зависает.Я немного прочитал об этом и увеличил лимит стека до безлимитного, и все равно он завис после 80000 строк или около того. Есть предложения о том, как мне оптимизировать код или настроить параметры моего ПК, чтобы всегда завершать работу?

while read -r CID60
do
{
  OLT=$(echo "$CID60" | cut -d"|" -f5)
  ONID=${OLT}:$(echo "$CID60" | cut -d, -f2 | sed 's/ //g ; s/).*|//')
  echo $ONID,$(echo "$CID60" | cut -d"|" -f3)  >> 
  $localpath/CID_$logfile.csv
} &
done < $localpath/$CID7360
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...