Как принудительно размонтировать соединение CIFS

Это зависит от реализации и типа переменной. Для простых объектов, таких как int, есть некоторые оптимизации. Например, в CPython простой int будет повторно использовать одну и ту же память даже после использования del. Вы не можете рассчитывать на это, но это иллюстрирует, что вещи сложнее, чем они появляются.

Помните, что когда вы del вы удаляете имя, это не обязательно объект. Например:

# x is a np.array and contains a lot of data

Было бы более точно сформулировано как:

# x references a np.array which contains a lot of data

del уменьшит счетчик ссылок на этом объекте, но даже когда он упадет до нуля не гарантируется сбор мусора в ближайшее время.

Предложите вам посмотреть модуль gc для объяснения и вдохновения. Затем подумайте еще раз.

Если вы получаете «из памяти», то у вас, вероятно, есть фундаментальная проблема с вашим дизайном. Скорее всего, вы загружаете слишком много данных за один раз (попробуйте использовать итераторы?), Или, может быть, ваш код должен быть лучше структурирован.

Я только что видел ваше редактирование. Вам нужен весь этот массив в памяти одновременно? Можете ли вы использовать генератор?

Другой альтернативой является использование базы данных, такой как SQLite или, возможно, shelve

140
задан smoofra 19 September 2008 в 21:14
поделиться

3 ответа

Я использую ленивое размонтирование: umount -l (это - нижний регистр L)

Ленивое размонтирование. Отсоедините файловую систему от иерархии файловой системы теперь и очистку все ссылки на файловую систему, как только это больше не занято. (Требует ядра 2.4.11 или позже.)

171
ответ дан Kemal 19 September 2008 в 21:14
поделиться
  • 1
    Нет никакой неоднозначности с **. a ** b doesn' t имеют смысл в контексте умножения если b isn' t указатель. Это действительно имеет смысл в контексте возведения в степень. Единственное объяснение, которое я вижу, то, что сообщество C/C ++/C# don' t рассматривают научное программирование как реальное программирование. It' s главный вызов и it' s одна из основных причин программисты Fortran смотрят сверху на C/C ++/C#, как являющийся нижними языками для научного программирования. – David Hammen 1 February 2013 в 01:05

Существует-f опция к umount, который можно попробовать:

umount -f /mnt/fileshare

Вы указывающий опцию '-t сиф смонтироваться? Также удостоверьтесь, что Вы не указываете 'трудную' опцию смонтироваться.

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

1
ответ дан Chris AtLee 19 September 2008 в 21:14
поделиться
  • 1
    @juanchopanza: Вы действительно используете питание так часто, что оно гарантирует оператор самостоятельно? – PlasmaHH 1 February 2013 в 00:54

Попробуйте umount-f/mnt/share. Работы хорошо с NFS, который никогда пробуют cifs.

кроме того, смотрите на autofs, он смонтирует долю только при доступе и размонтировании его загробные миры.

существует хорошее учебное руководство в www.howtoforge.net

2
ответ дан Sunny Milenov 19 September 2008 в 21:14
поделиться
Другие вопросы по тегам:

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