这个问题比较怪异,关于/tmp空间问题
时间:2010-07-21
来源:互联网
新装的系统,文件系统是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#
为什么会这样呢

作者: 淡定再淡定 发布时间: 2010-07-21
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%呢

作者: 淡定再淡定 发布时间: 2010-07-21
作者: minechina 发布时间: 2010-07-21
俺这么理解:swap交换空间,内存不够的时候使用,tmp默认是用内存,内存不够的时候使用swap
俺的问题是df看的tmp为什么不准确?并且差距这么大

作者: 淡定再淡定 发布时间: 2010-07-21
下面引用蜘蛛大侠的原话:
首先,我们从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了一次
作者: minechina 发布时间: 2010-07-21
多谢鸟哥回复
俺其实最想知道的是: 现在怎么准确知道/tmp有多大 ? 真实使用率是多少?

作者: 淡定再淡定 发布时间: 2010-07-21
作者: easybegin 发布时间: 2010-07-21
作者: easybegin 发布时间: 2010-07-21
easybegin 发表于 2010-07-21 16:45
我晕,你咋知道的呢?这个有问题吗?我记得上次就这么干的没问题啊

作者: 淡定再淡定 发布时间: 2010-07-21
淡定再淡定 发表于 2010-07-21 16:48
没问题,只是EIS光盘镜像实在太大了,放在tmp太占地方。你试试吧,也可能不是这个问题。
作者: easybegin 发布时间: 2010-07-21
easybegin 发表于 2010-07-21 16:50
ok,我试试看。另外,为什么df看tmp空间使用率不对呢? 这是最困惑的地方,以前没注意

作者: 淡定再淡定 发布时间: 2010-07-21
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28