powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / место в файлсистеме не освобождается после удаления файлов. SUN Solaris
12 сообщений из 12, страница 1 из 1
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245623
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
oracle@adeoracs:/opt/oracle/DEOBWC [DEOBWC]# uname -a
SunOS adeoracs 5.10 Generic_127111-11 sun4u sparc SUNW,Sun-Fire-V890

oracle@adeoracs:/opt/oracle/DEOBWC [DEOBWC]# ls -ltr
total 2
drwxr-xr-x   2 root     root          96 Jan 22  2007 lost+found
drwxr-xr-x  12 oracle   dba         1024 Jan 30  2007 admin
oracle@adeoracs:/opt/oracle/DEOBWC [DEOBWC]# du -sk *
42153   admin
0       lost+foundoracle@adeoracs:/opt/oracle/DEOBWC [DEOBWC]# df -k .
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/vx/dsk/oracsdg/ordeobwc
                     1048576  912111  128110    88%    /opt/oracle/DEOBWC

удаленные файлы были трейс файлами ORACLE. по всей видимости процессы которые эти файлы создали бегут еще и не освобождают дескрипторы. Как найти процессы держащие дескрипторы на определенные файлы. Когда-то видел как кто-то find в /proc/*/fd но не наю как точно. поможите.
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245714
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lsof
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245842
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рестарт оралки поможет.
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245855
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коню понятно, что поможет. хотелось бы без рестарта. Eсть тут еще UNIX гуры, кто помoчь может. С lsofне работает, файлов нет уже в фйлесистеме.
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245958
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bardisконю понятно, что поможет. хотелось бы без рестарта. Eсть тут еще UNIX гуры, кто помoчь может. С lsofне работает, файлов нет уже в фйлесистеме.

Код: plaintext
1.
2.
3.
4.
5.
6.
den@denzh:~> touch aaaa
den@denzh:~> tail -f aaaa &
[1] 4102
den@denzh:~> rm aaaa
den@denzh:~> lsof |grep aaaa
tail       4102              den    3r      REG        9,1        0    7088060 /home/den/aaaa (deleted)
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245972
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# ll /proc/4102/fd/*
lrwx------ 1 den users 64 May  4 17:29 /proc/4102/fd/0 -> /dev/pts/4
lrwx------ 1 den users 64 May  4 17:29 /proc/4102/fd/1 -> /dev/pts/4
lrwx------ 1 den users 64 May  4 17:29 /proc/4102/fd/2 -> /dev/pts/4
lr-x------ 1 den users 64 May  4 17:29 /proc/4102/fd/3 -> /home/den/aaaa (deleted)
lr-x------ 1 den users 64 May  4 17:29 /proc/4102/fd/4 -> anon_inode:inotify

убиваем содержимое файла
# >/proc/4102/fd/3

Но это в линуксе.
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37245995
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в соларке я не вижу имена файлов:

oracle@adeoracs:/proc/132/fd []# ls -ltr
total 2054
-r--r--r-- 1 oracle dba 1003008 Sep 26 2008 20
c--------- 1 root sys 13, 12 Jul 24 2009 23
c--------- 1 root sys 13, 12 Jul 24 2009 17
c--------- 1 root sys 13, 12 Jul 24 2009 13
D--------- 1 root root 0 Jul 24 2009 21
-rw-r----- 1 oracle dba 24 Jun 29 2010 19
s--------- 0 root root 0 May 4 15:32 10
-rw-r----- 0 oracle dba 0 May 4 15:33 9
--w------- 1 oracle dba 256 May 4 15:33 12
--w------- 1 oracle dba 13313 May 4 15:33 5
-rw-rw---- 1 oracle dba 1544 May 4 15:33 8
-rw-rw---- 1 oracle dba 1544 May 4 15:33 18
c--------- 1 root sys 13, 2 May 4 15:42 7
c--------- 1 root sys 13, 2 May 4 15:42 6
c--------- 1 root sys 13, 2 May 4 15:42 4
c--------- 1 root sys 13, 2 May 4 15:42 3
c--------- 1 root sys 13, 2 May 4 15:42 22
c--------- 1 root sys 13, 2 May 4 15:42 2
c--------- 1 root sys 13, 2 May 4 15:42 16
c--------- 1 root sys 13, 2 May 4 15:42 15
c--------- 1 root sys 13, 2 May 4 15:42 14
c--------- 1 root sys 13, 2 May 4 15:42 11
c--------- 1 root sys 13, 2 May 4 15:42 1
c--------- 1 root sys 13, 2 May 4 15:42 0
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37246474
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bardis,

Код: plaintext
1.
# pfiles 132
Поможет связать /proc/<pid>fd/0 1 2 3 с именами файлов. Удаленный файл, правда, будет без имени.
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37247140
pavlenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если файловая система небольшая то можно как-то так.
Если же файловая система большая и файлов в ней много, то всё будет несколько сложнее. Но если будет надо, обращайтесь. Где-то была программка, которая не делает find на каждый inode а следовательно и значительно более производительная.

#!/usr/bin/bash
#

if [[ -z "$1" ]]; then
echo "No filesystem"
exit 1
fi

FILESYSTEM=$1

device=`df -k | nawk -v fs=$FILESYSTEM ' $6 == fs { print $1 } '`

if [[ ! -b "$device" ]]; then
echo "No such filesystem or block device"
exit 1
fi

dev=`ls -al $device | awk ' { print $5$6 } '`

exec 3<&0
ps -e -o pid,comm | while read line; do
PID=`echo $line | awk ' { print $1 } '` ;
if [[ "$PID" = "PID" ]]; then
continue
fi
INODE=`pfiles $PID | nawk -v devid=$dev ' $4 ~ devid && $5 ~ /ino/ { print substr($5,5) } '`
if [[ -n "$INODE" ]]; then
echo "process: $line ";
for ino in $INODE; do
FILE=`find $FILESYSTEM -inum $ino -mount`
if [[ -z "$FILE" ]]; then
FILE="FILE DELETED"
fi
echo "inode $ino : $FILE"
done
fi
done
exec 0<&3
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37247699
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за попытку, но скрипт нужно доработать. Что Вы хотите получить с этим:

dev=`ls -al $device | awk ' { print $5$6 } '`


5120May
3072May
4011Feb
2391875072Apr
2392014336Apr
5120Mar
3072Mar
1024Feb
1024Mar
1024May
1024Apr
1024Feb
1024Mar
1024Mar
1024Jul
2048Mar
1024Mar
736May
170Mar
2802May
2850May
2761May
2841May
2704May
2744May
2802May
1320Jun
1320Jun
1301Jun
1282Jul
80Feb
1024Mar
2938Jul
1576Jun
1024Apr
1024Jul
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37248234
pavlenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bardis,

Да вы правы. Скрипт писался давно и похоже применим только для файловых систем на томах veritas.
В случае если это metadevice или же просто /dev/dsk/c*t*d*s* то тогжа это не само блочное устройство а симлинк на блочное устройство.
Тогда надо выполнять эту команду непосредственно для блочных устройств.
А найти хочу major и minor номера устройства.
...
Рейтинг: 0 / 0
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
    #37248282
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтоб lsof показывал файлы на vxfs, его надо собирать на системе с установленным vxfs.
Всё что в инетке лежит собрано без vxfs.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / место в файлсистеме не освобождается после удаления файлов. SUN Solaris
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]