Автор Тема: Как изменить\запретить temp в ОЗУ ?  (Прочитано 2664 раз)

Оффлайн mbrz

  • Пользователь
  • **
  • Сообщений: 42
  • Карма: +0/-0
    • Просмотр профиля
Доброго времени суток.
Проблема - при объединении больших текстовых файлов 3Гб+... консоль выдаёт ошибку "no space...тра-та-та", как я понимаю, объединение происходит через промежуточный файл или папку в оперативке, которой всего 3Гб.
Вопрос - как объединять файлы напрямую или хотя-бы через промежуточный файл или папку на жестком диске ?
Спасибо.

Оффлайн edukra

  • Постоялец
  • ***
  • Сообщений: 197
  • Карма: +7/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #1 : 16 Июнь 2014, 22:03:05 »
Только, что попробовал объединить два шестигиговых файла. Память вообще не расходуется. Результирующий файл сразу создается на диске и в него записываются 2 файлаcat file1.txt file2.txt >fileout.txt
« Последнее редактирование: 16 Июнь 2014, 22:10:26 от edukra »

Оффлайн Artpsiholog

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 243
  • Карма: +2/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #2 : 16 Июнь 2014, 23:24:04 »
Цитировать
"no space...тра-та-та"
тра-та-та может быть разным в данном случае. Присылайте полный текст ошибки, посмотрим что же конкретно не так.

P. S. Попробую угадать - там будет "... left on device".

Оффлайн mbrz

  • Пользователь
  • **
  • Сообщений: 42
  • Карма: +0/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #3 : 17 Июнь 2014, 13:48:16 »
Прошу прощения, вот скрин ошибки:  http://i61.fastpic.ru/big/2014/0617/42/0dee0c1e814ca89530e984695336f142.jpeg

Оффлайн Artpsiholog

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 243
  • Карма: +2/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #4 : 17 Июнь 2014, 16:49:40 »
Прошу прощения, вот скрин ошибки:  http://i61.fastpic.ru/big/2014/0617/42/0dee0c1e814ca89530e984695336f142.jpeg
А что с местом на диске? Его точно достаточно при выполнении этой операции? Я так понимаю должно быть 6Гб на диске под два файла + 6Гб на диске для файла который получится при объединении. Такое количество дискового пространства точно имеется?

Оффлайн Artpsiholog

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 243
  • Карма: +2/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #5 : 17 Июнь 2014, 16:51:18 »
Так же, с помощью команды mount можно посмотреть куда конкретно монтируется /tmp (если монтируется отдельно), либо на какой партации /tmp располагается. Вот на той партации, где располагается /tmp диска и не хватает.

Оффлайн edukra

  • Постоялец
  • ***
  • Сообщений: 197
  • Карма: +7/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #6 : 17 Июнь 2014, 20:29:52 »
Так там не просто объединение, там еще конвейером идут другие операции. В таком случае действительно будет использоваться /tmp для хранения промежуточных результатов. Как вариант для выполнения операции можно попробовать смонтировать какой-нибудь пустой раздел, как /tmp

Оффлайн mbrz

  • Пользователь
  • **
  • Сообщений: 42
  • Карма: +0/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #7 : 18 Июнь 2014, 00:59:06 »
А что с местом на диске? Его точно достаточно при выполнении этой операции?
Думаю, что недостаточно. До меня дошло, что поскольку слакс у меня грузится и работает из RAM, то и вся фс включая /tmp лежат в оперативке, поэтому ранее при обработке небольших словарей проблем не возникало. А вот с большими проблема и всплыла.
Как вариант для выполнения операции можно попробовать смонтировать какой-нибудь пустой раздел, как /tmp
Тогда такой вопрос, можно ли как в виндовс назначить под темп папку или раздел (фс NTFS) с данными ?  Или обязателен только ПУСТОЙ раздел ?
Спасибо.
« Последнее редактирование: 18 Июнь 2014, 01:00:38 от mbrz »

Оффлайн mbrz

  • Пользователь
  • **
  • Сообщений: 42
  • Карма: +0/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #8 : 19 Июнь 2014, 00:56:00 »
Прошу подсказать, что можно сделать в моей ситуации.
Слаксы 6 и 7 лежат в папках на NTFS разделе, загружаются и работают из оперативки, темп соответственно находится в ней-же.
Можно ли назначить под /tmp папку или даже раздел(NTFS) с данными ?  Или обязателен только ПУСТОЙ раздел и с определённой линуксовой фс?
Спасибо.

Оффлайн Artpsiholog

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 243
  • Карма: +2/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #9 : 19 Июнь 2014, 09:16:20 »
Прошу подсказать, что можно сделать в моей ситуации.
Слаксы 6 и 7 лежат в папках на NTFS разделе, загружаются и работают из оперативки, темп соответственно находится в ней-же.
Можно ли назначить под /tmp папку или даже раздел(NTFS) с данными ?  Или обязателен только ПУСТОЙ раздел и с определённой линуксовой фс?
Спасибо.

Если я правильно понял вопрос, то нет, раздел пустым быть не обязан, там могут быть данные. Смонтировать можно попробовать так:

mv /tmp /tmp.orig
mkdir /tmp
mount -t ntfs-3g /dev/sdb1 /tmp

/dev/sdb1 - тут нужно поставить правильный раздел.

Вернуть всё в исходное состояние можно будет, например, так:

umount /tmp
rm -rf /tmp
mv /tmp.orig /tmp

Оффлайн mbrz

  • Пользователь
  • **
  • Сообщений: 42
  • Карма: +0/-0
    • Просмотр профиля
Re: Как изменить\запретить temp в ОЗУ ?
« Ответ #10 : 19 Июнь 2014, 12:08:42 »
Если я правильно понял вопрос, то нет, раздел пустым быть не обязан, там могут быть данные. Смонтировать можно попробовать так:
Огромное спасибо - работает.  :)   Вопрос полностью исчерпан.
« Последнее редактирование: 19 Июнь 2014, 12:32:24 от mbrz »