1

При работе ОС вылетает сообщение:
на устройстве нет свободного места /tmp/uyiouy.tmp
Я так понимаю что /tmp работает в оперативной памяти.
А как заставить /tmp формировать временные файлы на диске ?

2 (05.12.2013 18:52:21 отредактировано sandaksatru)

Peka пишет:

А как заставить /tmp формировать временные файлы на диске ?

Очевидно. Монтировать /tmp на диск.
Давайте сначала посмотрим что у вас там смонтировано и сколько памяти, дайте вывод:

mount
free -h
sudo fdisk -l

3

[root@user1c ~]# mount
/dev/mapper/vg_user1c-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p1 on /boot type ext4 (rw)
/dev/mapper/vg_user1c-lv_home on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

[root@user1c ~]# free -h
free: invalid option -- 'h'
usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]
  -b,-k,-m,-g show output in bytes, KB, MB, or GB
  -l show detailed low and high memory statistics
  -o use old format (no -/+buffers/cache line)
  -t display total for RAM + swap
  -s update every [delay] seconds
  -c update [count] times
  -V display version information and exit

[root@user1c ~]# sudo fdisk -l

Диск /dev/sda: 2000.4 ГБ, 2000398934016 байт
255 heads, 63 sectors/track, 243201 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00080f33

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *           1          64      512000   83  Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2              64      243032  1951634432   8e  Linux LVM

Диск /dev/sdb: 2000.4 ГБ, 2000398934016 байт
255 heads, 63 sectors/track, 243201 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00080f33

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1   *           1          64      512000   83  Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sdb2              64      243032  1951634432   8e  Linux LVM

Диск /dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450: 1999.0 Г                                                                              Б, 1998998994944 байт
255 heads, 63 sectors/track, 243031 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00080f33

                                                      Устр-во Загр     Начало                                                                                     Конец       Блоки   Id  Система
/dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p1   *                                                                                         1          64      512000   83  Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p2                                                                                            64      243032  1951634432   8e  Linux LVM

Диск /dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p1: 524 МБ                                                                              , 524288000 байт
255 heads, 63 sectors/track, 63 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Диск /dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p2: 1998.5                                                                               ГБ, 1998473658368 байт
255 heads, 63 sectors/track, 242967 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Диск /dev/mapper/vg_user1c-lv_root: 53.7 ГБ, 53687091200 байт
255 heads, 63 sectors/track, 6527 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Диск /dev/mapper/vg_user1c-lv_swap: 8422 МБ, 8422162432 байт
255 heads, 63 sectors/track, 1023 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Диск /dev/mapper/vg_user1c-lv_home: 1936.4 ГБ, 1936363356160 байт
255 heads, 63 sectors/track, 235416 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

[root@user1c ~]#

4

Видно, что /tmp и так смонтирован на диске.
Покажи вывод df -hT

5

[root@user1c ~]# df -hT
Ф. система    Тип     Разм  Исп  Дост  Исп% смонтирована на
/dev/mapper/vg_user1c-lv_root
              ext4     50G   47G  596M  99% /
tmpfs        tmpfs    7,8G     0  7,8G   0% /dev/shm
/dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p1
              ext4    485M   37M  423M   9% /boot
/dev/mapper/vg_user1c-lv_home
              ext4    1,8T   11G  1,7T   1% /home
[root@user1c ~]#

6

Peka пишет:

[root@user1c ~]# df -hT
Ф. система    Тип     Разм  Исп  Дост  Исп% смонтирована на
/dev/mapper/vg_user1c-lv_root
              ext4     50G   47G  596M  99% /
tmpfs        tmpfs    7,8G     0  7,8G   0% /dev/shm
/dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p1
              ext4    485M   37M  423M   9% /boot
/dev/mapper/vg_user1c-lv_home
              ext4    1,8T   11G  1,7T   1% /home
[root@user1c ~]#

По краю, однако, ходим. Почистите, однако, корневую файловую систему. Заодно и в /tmp места станет больше.
И, далее, рекомендую /tmp перенести в RAM (как tmpfs). Тогда в нем не будет копиться мусор от прежних сессий. После перезагрузки /tmp будет чист как слеза младенца. Ну и бонусом получите определенное ускорение работы системы (на тех задачах, которые интенсивно /tmp пользуют).

7

Ну вот гляди, у тебя кончилось место в корневом разделе. Осталось только 3ГБ зарезервированных файловой системой для рута.
Освободи там место или сними этот резерв.

8

Cruiser78 пишет:

И, далее, рекомендую /tmp перенести в RAM (как tmpfs)

А можна подробнее, а то я совсем слаб в этом вопросе.

9

Тогда лучше не делай этого на ЦентОС. Федора вот перешла на /tmpfs в RAM по умолчанию совсем недавно.

10

Vascom пишет:

Тогда лучше не делай этого на ЦентОС. Федора вот перешла на /tmpfs в RAM по умолчанию совсем недавно

Благодарю за подсказку, делать не буду.

Vascom пишет:

Освободи там место или сними этот резерв.

У меня в root такие директории: anaconda-ks.cfg  install.log  install.log.syslog  rpmbuild
Подскажите, как определить что можна удалять ?

11

Покажи вывод от рута du -hs /*

12

Vascom пишет:

Покажи вывод от рута du -hs /*

[root@user1c rpmbuild]# du -hs /*
7,6M    /bin
27M     /boot
192K    /dev
16K     /epel-release-6-8.noarch.rpm
26M     /etc
11G     /home
135M    /lib
26M     /lib64
16K     /lost+found
8,0K    /media
0       /misc
4,0K    /mnt
4,0K    /msttcorefonts-2.0-1.spec
8,0K    /msttcorefonts-2.0-1.spec.1
0       /net
439M    /opt
du: невозможно получить доступ к «/proc/24725/task/24725/fd/4»: Нет такого файла или каталога
du: невозможно получить доступ к «/proc/24725/task/24725/fdinfo/4»: Нет такого файла или каталога
du: невозможно получить доступ к «/proc/24725/fd/4»: Нет такого файла или каталога
du: невозможно получить доступ к «/proc/24725/fdinfo/4»: Нет такого файла или каталога
0       /proc
24M     /root
15M     /sbin
4,0K    /selinux
4,0K    /srv
0       /sys
40K     /tmp
1,7G    /usr
44G     /var
[root@user1c rpmbuild]#

13

У тебя 44ГБ в директории /var.
Теперь можешь посмотреть du -hs /var/* и далее, пока не найдёшь виновника. Потом уже можно решить что с этим делать.

P.S. Вывод таких команд помещай в тег Code.

14

Vascom пишет:

Теперь можешь посмотреть du -hs /var/* и далее, пока не найдёшь виновника. Потом уже можно решить что с этим делать.

Так у меня там база Пострегреса, она может быть и больше 100 Гб.
Выходит, что мне нужно увеличить /dev/mapper/vg_user1c-lv_root.
А как это сделать ?

15

Это можно сделать, загрузившись с лив-сд и перераспределив пространство в LVM разделах.

16 (06.12.2013 11:01:46 отредактировано Peka)

Благодарю всех за участие. Проблема ясна.

17

Peka пишет:
Vascom пишет:

Теперь можешь посмотреть du -hs /var/* и далее, пока не найдёшь виновника. Потом уже можно решить что с этим делать.

Так у меня там база Пострегреса, она может быть и больше 100 Гб.
Выходит, что мне нужно увеличить /dev/mapper/vg_user1c-lv_root.
А как это сделать ?

Самое простое - перенести базу в терабайтный /home, а на прежнем месте создать символьную ссылку  на новое расположение (ln -s /path_to_new /path_old). Можно и размеры томов покорячить... Но это - больше времени займет, и не даст никакой гарантии, что новый объем исчерпан быстро не будет.
И по /tmp в ramfs. Я не такой большой специалист как Vasсom, но не вижу ничего опасного в перемещении /tmp в RAM по tmpfs (не ramfs-же...). Если мне не изменяет склероз, то то, что не помещается в tmpfs будет (в отличие от ramfs) выноситься в swap.
Перенести /tmp очень просто (правда, придется перезагрузить компьютер) - пишем в /etc/fstab одну строчку:

tmpfs          /tmp      tmpfs   defaults        0 0

Проверяем, чтобы последняя строка этого файла была пустая и перезагружаемся.
Ну и zRam до кучи тоже неплохо было бы активизировать. Особенно если памяти много, а приложения хотят в свап залезть. Тоже ускорит работу.

В качестве примера приведу личный опыт. Есть клиентское приложение 1С v7.7. Работает на DBF-файлах. Есть в нём штатная операция "восстановление последовательности документов". Если 1С (с окружением) настроен штатно, то у меня проведение документов за месяц осуществляется за 40-50 минут в зависимости от количества документов. Но, если я перекину временный wine-каталог (user/Temp) в RAM, то тот же месяц у меня будет обрабатываться не дольше 10 минут против почти часового елозанья по жесткому диску в штатных настройках.

Отсюда - если есть приложение, активно работающее с tmp-файлами, то его tmp-файлопомойку следует размещать в RAM.