linuxtmpfstmpfs
⑴ linux tmpfs区满了过后怎么清理
tmpfs文件系统是通过内存虚拟出来的磁盘(所以这个文件系统的大小在每个主机上都不一样),属于是针对内存的挂载,它每次开机会挂载到/dev/shm这个目录。因为是内存的挂载,内存的特性你应该知道重启过后里面的内容就全没有了,所以一般不需要清理,每次开机后它都是空的。如果你需要手动清理,就清理/dev/shm这个目录(注意是个目录而不是个设备文件),因为tmpfs是开机挂载到这个目录。
⑵ Linux 格式化硬盘方法教程
我们使用Linux过程中,和Windows也一样。使用硬盘的时候,出现了问题,需要对硬盘进行格式化。那 Linux 如何格式化硬盘呢?下面就和大家说一下 Linux 格式化硬盘的方法和步骤。
步骤如下:
1、硬盘的接口类型
硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在 Linux 上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为主板上面一般有两个IDE插槽,一个IDE插槽可以接两个硬盘,而光驱是接着IDE的第二个插槽上面的第一个接口上面。其他诸如SCSI,SAS,SATA,USB等接口的设备在linux识别为/dev/sd[a-z]。
2、 Linux 硬盘的分区
磁盘的分区分为: primary(主分区)、extended(扩展分区)、Logical (逻辑分区)且主分区加上扩展分区的个数小于等于4个。且扩展分区最多只有一个,扩展分区是不能直接在里面写入数据的,扩展分区里面新建逻辑分区才能读写数据。如果看见一个硬盘有很多分区,则其实是在扩展分区里面新建的逻辑分区。
主分区从 sdb1--sdb4
逻辑分区是从 sdb5--sdbN
如果所示linux硬盘分区之间的关系
第一种情况为:四个主分区
第二种情况为:三个主分区+一个扩展分区(扩展分区里面包括逻辑分区)
4、使linux内核识别分区信息
cat /proc/partitions 查看内核识别的分区信息
[root@Redhat5 ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 104391 sda1
8 2 41945715 sda2
8 3 1052257 sda3
253 0 30703616 dm-0
253 1 5111808 dm-1
让内核重新读取硬件分区表有两个命令
partprobe /dev/sda ------》 redhat 5.x ,redhat 6.x需要重启
partx -a /dev/sda5 /dev/sda-------》redhat 6.x
内核加载分区信息之后再查看
[root@Redhat5 ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 104391 sda1
8 2 41945715 sda2
8 3 1052257 sda3
8 4 0 sda4
8 5 1959898 sda5
8 6 3911796 sda6
253 0 30703616 dm-0
253 1 5111808 dm-1
5、格式化分区
格式化分区的命令
mkfs -t fstype /dev/part -t选择格式化的类型,然后是那个分区
mkfs.ext2 /dev/part 格式化为ext2的类型,然后是接那个分区
mkfs.ext3 /dev/part 格式化为ext3的类型,然后是接那个分区
mkfs.ext4 /dev/part 格式化为ext4的类型,然后是接那个分区
mke2fs 比之前几个更加强大的格式化分区的命令
这几个命令之间相关的关系
mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3
mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2
mke2fs (man mke2fs):创建文件类型---》/etc/mke2fs.conf 配置文件
-t:文件类型
-j:相当于 ext3
-b:指定块大小{1024”2048|4096byte},块大小取决cpu对内存页框大小的支持,x86系统默认页
大小是4096,4k
-L: label 设定卷标
-m: #预留给管理使用的块所占的比率 一般用在分区很大的时候,#为数字
mke2fs -t ext3 /dev/sda5 #把分区格式为ext3格式的
mke2fs -t ext3 -b 2048 /dev/sda5 # 把分区的块改成2048字节,一般用于系统中小文件很多的情况
mke2fs -t ext3 -m 3 /dev/sda5 #把分区预留的空间改为所占总空间的3%,默认为5%,因为当某个分区足够大的时候,可以减少空间
mke2fs -t ext3 -L DATE /dev/sda5 #把分区的卷标设置为DATE
tune2fs 命令可以查看分区的详细信息,mke2fs 与 tune2fs的关系和useradd与usermod的关系很类似。mke2fs支持的参数tune2fs大多数都支持,详情请man tune2fs查看相关的帮助。
option
-l: 显示文件系统超级块信息;
-L label:重新设定卷标;
-m #: 调整预留给管理使用的块所占据总体空间的比例;
-r #: 调整预留给管理使用的块个数;
-o:设定挂载默认选项
-O: 设定文件系统默认特性
-E: 调整文件系统的扩展属性
tune2fs不支持-b参数改变块的大小。
tune2fs -l /dev/sda5 可以详细查看分区的信息
[root@Redhat5 ~]# tune2fs -l /dev/sda5 | grep “^Block size” //显示sda5分区块的大小
Block size: 4096
[root@Redhat5 ~]# tune2fs -l /dev/sda5 | grep “^Reserved” //显示sda5预留空间
Reserved block count: 24498
Reserved GDT blocks: 119
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
tune2fs -L DATE /dev/sda5 #修改卷标
tune2fs -m 3 /dev/sda5 #修改预留给管理使用的块所占据总体空间的比例
e2label:显示或设定卷标
e2label /dev/sda5 MYDATE
blkid :显示设备的UUID及文件系统类型,及卷标
6、挂载
mount 挂载------》显示的是/etc/mtab文件里面的内容
mount [-t fstype] DEVICE MOUNT_POINT
命令 设备 挂载点
mount [-t fstype] LABEL=“卷标” MOUNT_POINT --》e2label查看标签
mount [-t fstype] UUID=“UUID” MOUNT_POINT ----》blkid可以查看UUID
options:
-o:用于指定挂着选项,常用的挂着选项,选项有很多用逗号隔开
ro:只读挂载
rw:读写挂载(默认)
noatime:关闭更新访问时间
auto:是否能够由“mount -a”挂载
defaults:相当于rw, suid, dev, exec, auto, nouser, async.
sync:同步
async:异步
noexec:不容易设备中的二进制直接运行
remount:重新挂载
loop:本地回环设备: 挂载系统已经存在的镜像
-t:
-v:verbose 显示详细信息
-n:挂载文件系统时,不更新/etc/mtab文件
-r:只读挂载相当于“-o ro”
挂载的几种方式
显示系统已经挂载的文件
挂载分区sda5到/mnt/sda5目录下
[root@Redhat5 ~]# mkdir /mnt/sda5 #创建一个挂载目录
[root@Redhat5 ~]# mount /dev/sda5 /mnt/sda5/ #把分区挂载到新建的目录里面
[root@Redhat5 ~]# mount “ grep ”/dev/sda5“ #查看分区是否挂载
/dev/sda5 on /mnt/sda5 type ext3 (rw) #显示分区已经挂载
[root@Redhat5 ~]# umount /dev/sda5 #卸载分区
[root@Redhat5 ~]#mount | grep ”/dev/sda5“ #发现分区已经被卸载
[root@Redhat5 ~]# blkid #显示设备的UUID及文件系统类型,及卷标
/dev/mapper/vol0-home: UUID=”d1aeef77-bb47-4718-a91c-d4870b536440“ TYPE=”ext3“
/dev/sda3: LABEL=”SWAP-sda3“ TYPE=”swap“
/dev/sda1: LABEL=”/boot“ UUID=”5e5eaaac-cc56-42da-81eb-9adebff0fa2e“ TYPE=”ext3“
/dev/vol0/root: UUID=”4302a528-e88e-43d3-b3cc-1c2b29cda656“ TYPE=”ext3“
/dev/sda5: LABEL=”DATE“ UUID=”8f4f9b53-0bf0-4ce9-9665-bd4c7ae9ce59“ TYPE=”ext3“
[root@Redhat5 ~]# mount LABEL=”DATE“ /mnt/sda5/ #可以查到到分区5的标签为DATE,通
过挂载标签来挂载分区
[root@Redhat5 ~]# mount | grep ”/dev/sda5“ #查看分区是否挂载
/dev/sda5 on /mnt/sda5 type ext3 (rw)
[root@Redhat5 ~]# umount /dev/sda5 #卸载分区
[root@Redhat5 ~]#mount | grep ”/dev/sda5“
[root@Redhat5 ~]# mount UUID=”8f4f9b53-0bf0-4ce9-9665-bd4c7ae9ce59“ /mnt/sda5/
#通过挂载UUID来挂载分区
[root@Redhat5 ~]#mount | grep ”/dev/sda5“
/dev/sda5 on /mnt/sda5 type ext3 (rw)
用mount命令挂载的文件在系统开机的时候是不能自动挂载的,想要系统开机就挂载写到配置文件即可/etc/fstab
echo ”LABEL=DATE /mnt/sde5 ext3 defaults 0 0“ 》》 /etc/fstab
/etc/fstab文件的格式
[root@Redhat5 ~]# cat /etc/fstab
/dev/vol0/root / ext3 defaults 1 1
/dev/vol0/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
字段以空格分隔
1、挂载的设备:设备文件、卷标、UUID
2、挂载点: 与跟相关联的目录
3、文件系统类型:ext3,ext4
4、挂载选项:defaults表示使用默认选项,多个选项彼此间逗号分隔
5、转储频率:0:从不备份、1:每日备份、2:每隔一日备份
6、自检次序:0:不检测、1:第一个检测,一般只能为根文件系统第一个检测 2 。。.9
补充:系统常用维护技巧
1,在 “开始” 菜单中选择 “控制面板” 选项,打开 “控制面板” 窗口,单击 “管理工具” 链接
2,在打开的 “管理工具” 窗口中双击 “事件查看器” 图标
3, 接着会打开 “事件查看器” 窗口
4,在右侧窗格中的树状目录中选择需要查看的日志类型,如 “事件查看器本地--Win日志--系统日志,在接着在中间的 “系统” 列表中即查看到关于系统的事件日志
5,双击日志名称,可以打开 “事件属性” 对话框,切换到 “常规” 选项卡,可以查看该日志的常规描述信息
6,切换到 “详细信息” 选项卡,可以查看该日志的详细信息
7,打开 “控制面板” 窗口,单击 “操作中心” 链接,打开 “操作中心” 窗口,展开 “维护” 区域
8,单击 “查看可靠性历史记录” 链接,打开 “可靠性监视程序” 主界面,如图所示, 用户可以选择按天或者按周为时间单位来查看系统的稳定性曲线表,如果系统近日没出过什么状况, 那么按周来查看会比较合适。观察图中的曲线可以发现,在某段时间内,系统遇到些问题,可靠性指数曲线呈下降的趋势,并且在这段时间系统遇到了三次问题和一次警告,在下方的列表中可以查看详细的问题信息。
相关阅读:系统故障导致死机怎么解决
1、病毒原因造成电脑频繁死机
由于此类原因造成该故障的现象比较常见,当计算机感染病毒后,主要表现在以下几个方面:
①系统启动时间延长;
②系统启动时自动启动一些不必要的程序;
③无故死机
④屏幕上出现一些乱码。
其表现形式层出不穷,由于篇幅原因就介绍到此,在此需要一并提出的是,倘若因为病毒损坏了一些系统文件,导致系统工作不稳定,我们可以在安全模式下用系统文件检查器对系统文件予以修复。
2、由于某些元件热稳定性不良造成此类故障(具体表现在CPU、电源、内存条、主板)
对此,我们可以让电脑运行一段时间,待其死机后,再用手触摸以上各部件,倘若温度太高则说明该部件可能存在问题,我们可用替换法来诊断。值得注意的是在安装CPU风扇时最好能涂一些散热硅脂,但我在某些组装的电脑上却是很难见其踪影,实践证明,硅脂能降低温度5—10度左右,特别是P Ⅲ 的电脑上,倘若不涂散热硅脂,计算机根本就不能正常工作,曾遇到过一次此类现象。该机主要配置如下:磐英815EP主板、PⅢ733CPU、133外频的128M内存条,当该机组装完后,频繁死机,连Windows系统都不能正常安装,但是更换赛扬533的CPU后,故障排除,怀疑主板或CPU有问题,但更换同型号的主板、CPU后该故障也不能解决。后来由于发现其温度太高,在CPU上涂了一些散热硅脂,故障完全解决。实践证明在赛扬533以上的CPU上必须要涂散热硅脂,否则极有可能引起死机故障。
3、由于各部件接触不良导致计算机频繁死机
此类现象比较常见,特别是在购买一段时间的电脑上。由于各部件大多是靠金手指与主板接触,经过一段时间后其金手指部位会出现氧化现象,在拔下各卡后会发现金手指部位已经泛黄,此时,我们可用橡皮擦来回擦拭其泛黄处来予以清洁。
4、由于硬件之间不兼容造成电脑频繁死机
此类现象常见于显卡与其它部件不兼容或内存条与主板不兼容,例如SIS的显卡,当然其它设备也有可能发生不兼容现象,对此可以将其它不必要的设备如Modem、声卡等设备拆下后予以判断。
5、软件冲突或损坏引起死机
此类故障,一般都会发生在同一点,对此可将该软件卸掉来予以解决。
⑶ 关于linux tmpfs问题
tmpfs 在内存里,影响就是首先这个挂载点目录不能写入。其次就是会占用对应容量的内存。
一般 tmpfs 都是用于大量读写小文件的临时目录,web 服务器在这里似乎用的不多,但也存了一些数据在这里。慢了可能会导致 web 服务器运行某些动态网站代码出问题。
tmpfs 是在使用时才会占用内存,如果 tmpfs 空着,是不占用内存的。
内存不需要进行清理,内核会自动控制。你这个 echo 对应的是清空 cache ,缓存数据是可以提高 IO 性能的。没必要这么操作。
⑷ linux tmp目录与内存解析
使用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 excluded; this 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 进程所占用的内存。
⑸ Linux里面tmpfs是什么
tmpfs,临时文件系统,是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储,而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。
具体应用: 因为是运行在内存中所以让里面程序软件加速运行,所以可以放一些缓存数据
具体案例: nginx,php,tomcat缓存加速等等,缓存就可以放在tmpfs中
使用小例: mount -t tmpfs -o size=10M tmpfs /data-oldboy-li996
⑹ Linux下关于tmpfs的问题
tmpfs默认的大小是RAM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M
tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。
⑺ Linux内存文件系统tmpfs(/dev/shm)详细介绍
一、/dev/shm理论
默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df
命令查看结果.
/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。默认系统就会加载/dev/shm
,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs
可以使用您的
RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个
mkfs
之类的命令才能真正地使用它,tmpfs
是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
tmpfs有以下优势:
1。动态文件系统的大小,/dev
/shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df
-h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有
100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的
2。tmpfs
的另一个主要的好处是它闪电般的速度。因为典型的
tmpfs
文件系统会完全驻留在
RAM
中,读写几乎可以是瞬间的。
3。tmpfs
数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
二、修改/dev/shm大小
默认的最大一半内存大小在某些场合可能不够用,并且默认的inode数量很低一般都要调高些,这时可以用mount命令来管理它。
#mount
-o
size=1500M
-o
nr_inodes=1000000
-o
noatime,nodiratime
-o
remount
/dev/shm
在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件。
如果需要永久修改/dev/shm的值,需要修改/etc/fstab
代码如下:
tmpfs
/dev/shm
tmpfs
defaults,size=1.5G
0
0
mount
-o
remount
/dev/shm
三、/dev/shm应用
首先在/dev/shm建个tmp文件夹,然后与实际/tmp绑定
代码如下:
#mkdir
/dev/shm/tmp
#chmod
1777
/dev/shm/tmp
#mount
–bind
/dev/shm/tmp
/tmp(–bind
)
在使用mount
–bind
olderdir
newerdir命令来挂载一个目录到另一个目录后,newerdir的权限和所有者等所有信息会发生变化。挂载后的目录继承了被挂载目录的所有属性,除了名称。
⑻ Linux临时文件系统tmpfs会占用根目录空间么
tmpfs一般使用内存,或者swap分区,所以和根目录肯定是不同的分区,不会占用根目录空间。
⑼ linux里tmpfs文件系统全称是啥
Tmpfs
tmpfs is a common name for a temporary file storage facility on many Unix-like operating systems. It is intended to appear as a mounted file system, but stored in volatile memory instead of a persistent storage device.
是一个虚拟内存文件系统,它不同于传统的用块设备形式来实现的Ramdisk,也不同于针对物理内存的Ramfs。Tmpfs可以使用物理内存,也可以使用交换分区。
在Linux内核中,虚拟内存资源由物理内存(RAM)和交换分区组成,这些资源是由内核中的虚拟内存子系统来负责分配和管理。
Tmpfs向虚拟内存子系统请求页来存储文件,它同Linux的其它请求页的部分一样,不知道分配给自己的页是在内存中还是在交换分区中。同Ramfs一样,其大小也不是固定的,而是随着所需要的空间而动态的增减。
使用tmpfs,首先你编译内核时得选择”虚拟内存文件系统支持(Virtual memory filesystem support)”。
然后就可以加载tmpfs文件系统了
# mkdir -p /mnt/tmpfs
# mount tmpfs /mnt/tmpfs -t tmpfs
同样可以在加载时指定tmpfs文件系统大小的最大限制
# mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m