linux 下tmp是什么文件

linux 下tmp是什么文件,第1张

tmp是temporary的缩写,这个目录是用来存放一些临时文件。/tmp是Linux下的临时文件夹。

该文件夹中的内容一般不会删除,以redhat为例,系统自动清理/tmp文件夹的默认时限是30天。30天不访问的/tmp下的文件会被系统自动删除的。

/tmp-临时文件目录,能够被任何用户,任何程序访问,一般用来存放程序的临时文件,所以应该定期清理一下。FHS甚至建议在开机时,应该要将/tmp下的数据都删除,临时目录还有/var/tmp。

Linux有两个公知的临时目录:/tmp与/var/tmp,这两个目录被用户用于存储临时性的文件,亦经常被程序读写用户存储临时性数据。

两个目录没有本质上的区别,最根本的区别仅仅是系统对其中文件清理的默认时间配置不一致。

/tmp:目录默认清理10天未用的文件,系统重启会清理目录

/var/tmp:目录默认清理30天未用的文件。

tmp是临时文件。

TMP和TEMP文件是各种软件或系统产生的临时文件,也就是常说的垃圾文件。Windows产生的临时文件,本质上和虚拟内存没区别,只不过临时文件比虚拟内存更具有针对性,单独为某个程序服务,这导致两个问题:一是占据空间,二是删除后有导致程序无法运行的风险。

tmp文件的甄别

不能所有的临时文件都一概而论。

比如,C盘根目录的TEMP目录,是很多工具程序临时文件的指向目录,没有这个目录的话,临时文件无法创建,这些工具软件就很可能会出错,所以要删除的话,只应该清空里面的临时文件垃圾,而不能把TEMP这个目录都撸掉了。

Windows里通常也有一个TEMP文件,是系统默认的临时文件的放置地方,也不建议连目录都删除了,定期清空里面的垃圾即可。

使用free可以获取到设备当前的内存 其中,各项表示的含义如下所示: total: 总计物理内存大小。 used: 已使用内存大小。 free: 可使用内存大小。 shared: 多个进程共享的内存总额。 buffers/cached: 磁盘缓存大小。 单位都为KB。 对于系统而言,buffers和cached都是被使用的,所以可用内存为1037880KB。 对于应用程序而言,buffers和cached是可用的。当应用程序需要内存的时候,buffers和cached会被回收。从应用程序的角度而言,可用内存=free memory+buffers+cached。按上面的例子,即可用内存为1037880+18864+123656=1180400。 使用cat /proc/meminfo可以查看更详细的内存信息。 /proc/iomem:查看物理设备在物理内存中的映射关系 /proc/slabinfo:内核对象的当前使用状态 /proc/vmstat:虚拟内存统计信息。可以使用vmstat - Report virtual memory statistics 打印虚拟内存状态。 如上所示,/tmp为内存文件系统,内存挂载为内存文件系统(tmpfs)。使用的物理空间不是磁盘,而是内存条。设备重启后,/tmp下文件全清空。 tmpfs文件系统产生原因是为了提高性能。程序运行时候产生的临时文件放在磁盘会影响性能,于是tmpfs作为虚拟内存子系统来储存文件。POSIX共享内存也是基于tmpfs来实现的。 tmpfs的最大空间由RM(Real Memory,即物理内存)和swap(硬盘虚拟的内存空间)组成。 查看挂载信息,可知 tmpfs 文件系统的挂载点有两个,一个/dev/shm,另一个为/tmp。默认情况下, /tmp 将最多使用一半内存。 如果往/tmp文件夹加入大量文件,也会造成系统内存不足。 使用ps可以查看进程的状态 其中与内存相关项含义如下所示: VSZ:虚拟内存大小。virtual memory size of the process in KiB (1024-byte units). Device mappings are currently excludedthis is subject to change. (alias vsize). RSS:实际使用物理内存。resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz). 虚拟内存是对进程而言使用的内存,会比较大,可以理解为一个内存布局,建立虚拟内存和磁盘文件的映射关系。在进程调用的时候,查找虚拟内存,将虚拟内存对应磁盘文件拷贝到物理内存,进行调度寻址等 *** 作。 进程使用的物理内存为RSS表示的物理内存大小,其中包括链接的动态库使用的内存,不只是单独进程使用的物理内存大小。 也可以通过/proc/下去查找对应进程id的相关内存信息。 /proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。 /proc/pid/statm 进程所占用的内存。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7428072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存