免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5474 | 回复: 24

这个问题比较怪异,关于/tmp空间问题 [复制链接]

论坛徽章:
0
发表于 2010-07-21 14:16 |显示全部楼层
本帖最后由 淡定再淡定 于 2010-07-21 15:00 编辑

新装的系统,文件系统是ZFS的,打EIS补丁的时候提示空间不足

bash-3.00# zfs list
NAME                USED  AVAIL  REFER  MOUNTPOINT
rpool              23.4G   110G    97K  /rpool
rpool/ROOT         4.39G   110G    21K  legacy
rpool/ROOT/newBE   4.39G   110G  4.39G  /
rpool/dump         6.00G   110G  6.00G  -
rpool/export       6.96G   110G    23K  /export
rpool/export/home  6.96G   110G  6.96G  /export/home
rpool/swap         6.07G   110G  6.07G  -
bash-3.00#



bash-3.00# df -h
Filesystem             size   used  avail capacity  Mounted on
rpool/ROOT/newBE       134G   4.4G   110G     4%    /
/devices                 0K     0K     0K     0%    /devices
ctfs                     0K     0K     0K     0%    /system/contract
proc                     0K     0K     0K     0%    /proc
mnttab                   0K     0K     0K     0%    /etc/mnttab
swap                   2.5G   520K   2.5G     1%    /etc/svc/volatile
objfs                    0K     0K     0K     0%    /system/object
sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
                       115G   4.4G   110G     4%    /platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
                       115G   4.4G   110G     4%    /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd                       0K     0K     0K     0%    /dev/fd
swap                   6.1G   3.6G   2.5G    60%    /tmp
swap                   2.5G    64K   2.5G     1%    /var/run
rpool/export           134G    23K   110G     1%    /export
rpool/export/home      134G   7.0G   110G     6%    /export/home
rpool                  134G    97K   110G     1%    /rpool
/dev/lofi/1            7.0G   7.0G     0K   100%    /mnt
bash-3.00#


可以看到这时候tmp分区只用了2.5G,空余的还很多,但是

bash-3.00# cd /tmp/
bash-3.00# pwd
/tmp
bash-3.00# touch hello
touch: cannot create hello: No space left on device
bash-3.00#


为什么会这样呢

论坛徽章:
0
发表于 2010-07-21 14:22 |显示全部楼层
本帖最后由 淡定再淡定 于 2010-07-21 14:24 编辑

bash-3.00# zfs get all rpool/swap
NAME        PROPERTY              VALUE                  SOURCE
rpool/swap  type                  volume                 -
rpool/swap  creation              Wed Jul 21 18:43 2010  -
rpool/swap  used                  6.07G                  -
rpool/swap  available             110G                   -
rpool/swap  referenced            6.07G                  -
rpool/swap  compressratio         1.00x                  -
rpool/swap  reservation           none                   default
rpool/swap  volsize               6G                     -
rpool/swap  volblocksize          8K                     -
rpool/swap  checksum              on                     default
rpool/swap  compression           off                    default
rpool/swap  readonly              off                    default
rpool/swap  shareiscsi            off                    default
rpool/swap  copies                1                      default
rpool/swap  refreservation        6G                     local
rpool/swap  primarycache          all                    default
rpool/swap  secondarycache        all                    default
rpool/swap  usedbysnapshots       0                      -
rpool/swap  usedbydataset         6.07G                  -
rpool/swap  usedbychildren        0                      -
rpool/swap  usedbyrefreservation  0                      -
bash-3.00#


俺知道加大swap就可以解决这个问题,但是这个是为啥显示不是100%呢

论坛徽章:
0
发表于 2010-07-21 15:19 |显示全部楼层
先弄清楚swap与/tmp的关系。

论坛徽章:
0
发表于 2010-07-21 15:30 |显示全部楼层
回复 3# minechina


    俺这么理解:swap交换空间,内存不够的时候使用,tmp默认是用内存,内存不够的时候使用swap


    俺的问题是df看的tmp为什么不准确?并且差距这么大

论坛徽章:
0
发表于 2010-07-21 15:33 |显示全部楼层
你这样理解就错了。
下面引用蜘蛛大侠的原话:
首先,我们从df -k就可以看出/tmp用的是swap空间,而swap空间是tmpfs,如果你单独把他做为一个分区来装OS岂不是变成了ufs?!

/var/run和/tmp都是swap,它们都是mount在同一swap上的。tmpfs是允许多次mount的,可做试验如下:
# mkdir /swaptest
# /sbin/mount -f tmpfs swap /swaptest
# df -k /swaptest
Filesystem            kbytes    used   avail capacity  Mounted on
swap                 47081784       0 47081784     0%    /wdhtest

因此/var/run和/tmp都是在使用swap -l看到的设备。

不同区别的是/tmp是用来给OS用户放置临时文件的,而/var/run是用来给系统进程放置临时文件的(如pid等信息)。

vi一下/etc/rcS.d/S70buildmnttab.sh,看看系统的mount步骤是怎样的,你也会发现swap在被/tmp mount之后,最后又被/var/run mount了一次

论坛徽章:
0
发表于 2010-07-21 16:32 |显示全部楼层
回复 5# minechina


    多谢鸟哥回复


   俺其实最想知道的是:  现在怎么准确知道/tmp有多大 ? 真实使用率是多少?

论坛徽章:
0
发表于 2010-07-21 16:45 |显示全部楼层
你用的是EIS镜像,放在tmp,mount到/mnt了吧? 先umount,把镜像放到别的目录去,然后再试一下。

论坛徽章:
0
发表于 2010-07-21 16:47 |显示全部楼层
自己先计算一下swap大小,物理内存+swap分区。然后swap -s看一下。

论坛徽章:
0
发表于 2010-07-21 16:48 |显示全部楼层
你用的是EIS镜像,放在tmp,mount到/mnt了吧? 先umount,把镜像放到别的目录去,然后再试一下。
easybegin 发表于 2010-07-21 16:45



    我晕,你咋知道的呢?这个有问题吗?我记得上次就这么干的没问题啊 {:3_198:}

论坛徽章:
0
发表于 2010-07-21 16:50 |显示全部楼层
我晕,你咋知道的呢?这个有问题吗?我记得上次就这么干的没问题啊
淡定再淡定 发表于 2010-07-21 16:48



    没问题,只是EIS光盘镜像实在太大了,放在tmp太占地方。你试试吧,也可能不是这个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP