Автор Гілка: тормознутий /tmp  (Прочитано 2664 раз)

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
тормознутий /tmp
« : 2012-08-02 13:55:15 »
Привіт.
маю в якось ДЦ орендований виділений сервер, з Убунту-11.04... і якимось рейдом (можливо "залізним" , хард  - cciss )..
проблема така-
ls (з різними опціями і без них) /tmp - може виконуватися кілька хвилин !!!

http://dumpz.org/237232/

це мені вже набридло чекати десь 30 сек... потім процес висить ще не одну хвилину.
load average  відразу підскакує до 25-35 .. (звичайно там мускл трохи добре часом вантажить сервер) і не падає поки процес не "завершиться"...
kill як правило не помагає
Цитата
root      8446  0.2  0.0  28180  1208 pts/2    D    13:37   0:01 ls -laF /tmp

du -h -s /tmp - також часто зависає на дуже джовгий час..
та й дивно ще одне:
Цитата
du -h -s /tmp
404M      /tmp
Цитата
# du -h --max-depth=1 /tmp
4.0K      /tmp/mc-root
4.0K      /tmp/.ICE-unix
5.0M      /tmp/atop.d
36K      /tmp/hsperfdata_root
4.0K      /tmp/.X11-unix
404M      /tmp
Цитата
ll /tmp
total 407760
drwxrwxrwt  7 root root  417517568 2012-08-02 13:52 ./
drwxr-xr-x 23 root root       4096 2012-05-18 12:18 ../
drwx------  2 root root       4096 2012-08-02 06:25 atop.d/
-rw-------  1 root root          0 2012-08-02 10:52 fileFReHwf
drwxr-xr-x  2 root root       4096 2012-07-26 22:31 hsperfdata_root/
drwxrwxrwt  2 root root       4096 2012-07-26 22:21 .ICE-unix/
lrwxrwxrwx  1 root root         37 2012-07-28 14:47 ispmgr.adm.sock -> /usr/local/ispmgr/tmp/ispmgr.adm.sock=
lrwxrwxrwx  1 root root         33 2012-07-28 14:47 ispmgr.sock -> /usr/local/ispmgr/tmp/ispmgr.sock=
drwx------  2 root root       4096 2012-07-27 12:30 mc-root/
-rw-------  1 root munin         0 2012-07-28 15:19 sh-thd-1343479514
-rw-------  1 root munin         0 2012-07-28 15:19 sh-thd-1343485999
-rw-------  1 root munin         0 2012-07-29 03:58 sh-thd-1343522006
-rw-------  1 root munin         0 2012-07-29 03:54 sh-thd-1343533601
-rw-------  1 root munin         0 2012-07-29 03:47 sh-thd-1343540717
-rw-------  1 root munin         0 2012-07-29 03:58 sh-thd-1343548487
-rw-------  1 root root          0 2012-07-27 09:53 tmpfXEz9ZV
drwxrwxrwt  2 root root       4096 2012-07-26 22:21 .X11-unix/
де береться тих 404М не зовсім розумію ... і головне звідки такі гальма також загадка для мене ??

(при тому не замічав таких проблем (я про ls) з іншими каталогами)
« Змінено: 2012-08-02 13:56:07 від vova07 »

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: тормознутий /tmp
« Відповідей #1 : 2012-08-03 17:53:58 »
а що кажуть

# df -hT

# find /tmp

# fschk -n


?

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: тормознутий /tmp
« Відповідей #2 : 2012-08-06 11:42:02 »
Цитата
df -hT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/mapper/<hostname>
              ext4    443G  140G  281G  34% /
udev      devtmpfs    7.9G  4.0K  7.9G   1% /dev
tmpfs        tmpfs    3.2G  344K  3.2G   1% /run
none         tmpfs    5.0M     0  5.0M   0% /run/lock
none         tmpfs    7.9G     0  7.9G   0% /run/shm
/dev/cciss/c0d0p1
              ext2    228M   24M  193M  11% /boot
tmpfs        tmpfs     10G  4.0K   10G   1% /var/log/mysql/tmp

Цитата
# find /tmp
хвилин чере з 10 видало список з 23628 файлів..
в основному там файлики такого типу
Цитата
-rw------- 1 www-data www-data 0 2012-08-02 17:05 /tmp/4J4gAK
-rw------- 1 www-data www-data 0 2012-08-02 16:54 /tmp/liE6HS
-rw------- 1 www-data www-data 0 2012-08-02 17:04 /tmp/Nsa3uA
-rw------- 1 www-data www-data 0 2012-08-02 17:09 /tmp/RWehyC
-rw------- 1 www-data www-data 0 2012-08-02 17:08 /tmp/XxqMuh
-rw------- 1 www-data www-data 0 2012-08-02 17:12 /tmp/ZHXSzl

до речі, в пятницю я чистив tmp від них.. треба буде розібратися  де вони беруться ....

але не думаю що в  кількості справа..  я ж коли в пятницю почистив їх  і   "залишив /tmp в спокої" на якийсь час ( ніяких ls , find  - тобто жоних дій, бо якщо шось часто робити - то виглядаю шо нічого не гальмує) - то чере якийсь час - знову гальму навіть на малій кількості файлів.. (їх приблизний список в самому першому повідомленні, там правда не find а ls -alF) -  може троих каламбурно описав, але шось правильні слова в голову не приходять...


Цитата
# fsck -n /
(в мене тільки один розділ - тільки так в ДЦ встановлюють, все решта - нестандарна конфігураця для них..)
http://dumpz.org/240048/ - прадва там мені вивід на еркан влізся,  верхня частина виводу  до "......"  скорочена..

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: тормознутий /tmp
« Відповідей #3 : 2012-08-06 17:30:35 »
Цитата
але не думаю що в  кількості справа
знову через пів дня... фалів вже лише декілька
# time find  /tmp
/tmp
/tmp/mc-root
/tmp/sh-thd-1344210639
/tmp/sh-thd-1344239727
/tmp/ispmgr.adm.sock
/tmp/.ICE-unix
/tmp/atop.d
/tmp/atop.d/atop.acct
/tmp/fileFReHwf
/tmp/sh-thd-1344228722
/tmp/sh-thd-1343548487
/tmp/ispmgr.sock
/tmp/tmp.BJxj1S6IDQ
/tmp/sh-thd-1344229005
/tmp/hsperfdata_root
/tmp/hsperfdata_root/3335
/tmp/.X11-unix
/tmp/sh-thd-1343540717
/tmp/sh-thd-1344229063
/tmp/sh-thd-1343522006
/tmp/tmp.nQRi9ESPXQ
/tmp/sh-thd-1343533601
/tmp/sh-thd-1344239447
/tmp/tmp.TfxlLKxPAg
/tmp/sh-thd-1343485999
/tmp/sh-thd-1343479514

real      19m13.186s
user      0m0.000s
sys      0m2.992s

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: тормознутий /tmp
« Відповідей #4 : 2012-08-07 12:00:46 »
А 'ls -l' любої іншої директрорії (наприклад /var/log) теж має таку проблему, чи лише /tmp ?

ls запуска getdents() доти, доки не вичитає весь вміст директорії (directory entries).  getdents в свою чергу читає блоками по 32К.

Цитата
getdents(3, /* 1149 entries */, 32768)  = 32752
getdents(3, /* 41 entries */, 32768)  = 1368
...


В вашому випадку, перший ж getdents() підвисає на довго-довго.

Цитата
    0.000075 open("/tmp", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
     0.000051 fcntl(3, F_GETFD)         = 0x1 (flags FD_CLOEXEC)
     0.000067 getdents(3, ^C <unfinished ...>


ХЗ чому, може пошкоджена, а може перевантажена.
Якщо вся ФС на одному волюмі /dev/mapper/<hostname>  а проблеми тільки з /tmp,  то швидше перше ніж друге.
Я б для початку зробив fsck .


Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: тормознутий /tmp
« Відповідей #5 : 2012-08-07 12:10:10 »
Цитата
А 'ls -l' любої іншої директрорії (наприклад /var/log) теж має таку проблему, чи лише /tmp ?
скільки не пробував більше ніде не міг застати такі гальма, на /var/log - не гальмує
#ls- l /var/log
..........
..........
..........
real      0m0.344s
user      0m0.000s
sys      0m0.004s

заради правди, треба скзаати що гальмує на диреткоріях з величезною кількістю файлів (кеші всякі і т.д. .. там 10-50 тисячі фйлів ... але то притаманне для будь якого серверу... не одноразово таке бачив на інших ..)

« Змінено: 2012-08-07 12:10:32 від vova07 »

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: тормознутий /tmp
« Відповідей #6 : 2012-08-09 14:58:40 »
Цитата
Я б для початку зробив fsck .

#touch /forcefsck

#shutdown -r now

по "віддаленій консолі" бачу
"... зачекайте, йде перевірка.. натисяність C щоб перервати"
чекаю.. перевірка закінчується.. ніяких більше повідолень повязаних з перевіркою (тобто нічого fsck не знаходить, інакше думаю б  вивело)

а перегляд /tmp - і далі нестерпно гальмує...