|
|
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. удаленные файлы были трейс файлами ORACLE. по всей видимости процессы которые эти файлы создали бегут еще и не освобождают дескрипторы. Как найти процессы держащие дескрипторы на определенные файлы. Когда-то видел как кто-то find в /proc/*/fd но не наю как точно. поможите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 15:38 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
lsof ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 16:04 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Рестарт оралки поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 16:51 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
коню понятно, что поможет. хотелось бы без рестарта. Eсть тут еще UNIX гуры, кто помoчь может. С lsofне работает, файлов нет уже в фйлесистеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 16:54 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Bardisконю понятно, что поможет. хотелось бы без рестарта. Eсть тут еще UNIX гуры, кто помoчь может. С lsofне работает, файлов нет уже в фйлесистеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 17:30 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Но это в линуксе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 17:34 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
в соларке я не вижу имена файлов: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2011, 17:42 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Bardis, Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 01:39 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Если файловая система небольшая то можно как-то так. Если же файловая система большая и файлов в ней много, то всё будет несколько сложнее. Но если будет надо, обращайтесь. Где-то была программка, которая не делает 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 12:59 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Спасибо за попытку, но скрипт нужно доработать. Что Вы хотите получить с этим: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 15:48 |
|
||
|
место в файлсистеме не освобождается после удаления файлов. SUN Solaris
|
|||
|---|---|---|---|
|
#18+
Bardis, Да вы правы. Скрипт писался давно и похоже применим только для файловых систем на томах veritas. В случае если это metadevice или же просто /dev/dsk/c*t*d*s* то тогжа это не само блочное устройство а симлинк на блочное устройство. Тогда надо выполнять эту команду непосредственно для блочных устройств. А найти хочу major и minor номера устройства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2011, 18:50 |
|
||
|
|

start [/forum/topic.php?fid=25&fpage=85&tid=1484262]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
538ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 875ms |

| 0 / 0 |
