热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

提升UNIX中文件系统使用效率

文件系统是整个Unix系统中与用户关系最密切,用户操作最频繁的部分,随着系统运行时间的延续,文件系统的使用效率也跟着下降,这主要表现为:硬盘空间的减少,垃圾信息的增加,寻址时间的增
文件系统是整个Unix系统中与用户关系最密切,用户操作最频繁的部分,随着系统运行时间的延续,文件系统的使用效率也跟着下降,这主要表现为:硬盘空间的减少,垃圾信息的增加,寻址时间的增加等。本文将介绍几种提高文件系统使用效率的方法,和大家共享,欢迎更正和补充。
首先,我们应该对UNIX文件系统的结构有一个了解。文件系统是UNIX系统中的文件,目录,以及对这些文件和目录进行管理的数据结构的总称。UNIX文件系统包括引导块、超级块、i节点区、文件存储区、进程对换区等几部分。
引导块占用第0号物理块,不属于文件系统管辖,如果系统中有多个文件系统,只有根文件系统才有引导程序放在引导块中,其余文件系统都不使用引导块;
超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统的大小、空闲块数目、空闲块索引表、空闲i节点数目、空闲i节点索引表、封锁标记等。超级块是系统为文件分配存储空间、回收存储空间的依据。
而i节点是对文件进行控制和管理的一种数据结构。一个文件对应一个i节点,每个i节点都有一个唯一的i节点号,i节点由64个字节组成,保存了文件的属性和类型、存放文件内容的物理块地址、最近一次的存取时间、最近一次的修改时间、创建此文件的时间。要注意哦:i节点中并不包括文件名,文件名和文件占用的i节点的i节点号放在目录文件的目录项中。
文件存储区是存放文件内容的区域,文件存储区中各数据块的使用情况在超级块中由记录,系统利用超级块中的记录完成对数据块的分配和回收。
在文件系统的末尾还可能有进程对换区,这里保留了对换到内存中的进程的映象,它不属于文件系统管辖。相信通过上面的这段文字,兄弟们应该对文件系统有一个大致的了解了。
为提高UNIX系统的运行效率,文件系统应该保持一定的空闲空间,理论上,空闲空间至少应占文件系统总空间的15%,当空闲空间小于总空间的15%时,UNIX系统操作将明显变慢!因此系统管理员应该了解文件系统空闲时间和i节点的使用情况,保证系统的高效运行。系统管理员可以使用df命令了解空闲空间和i节点的使用情况。使用“df -v 文件系统”命令,可以显示文件系统的使用情况:该文件系统数据块的总数、已使用数据块的数量、空闲数据块的数量、使用的数据快占总数据块的百分比。如果想显示文件系统的i节点总数、空闲i节点的数目、已使用i节点数目以及已使用i节点占总i节点的百分比,可使用-i选项。比如在Solaris下,可执行:df -o i(注意哦:i前没有“-”,呵呵)
当文件系统中的空闲空间减少,以至于使文件系统的效率降低时,可采用以下措施:
1.删除临时目录下的文件
临时目录下存放的都是临时文件,临时文件是在程序执行期间根据需要创建的,但没有被及时删除。系统中的临时目录一般有/var/tmp、/tmp和/usr/tmp。管理员可以手工删除他们,也可以建立一个作业调度,使清理工作自动进行。比如在/usr/spool/cron/crontabs/root中加入以下代码:
30 2 * * * find /var/tmp –atime 7 –exec rm{} ; >/dev/null
30 2 * * * find /usr/tmp –atime 7 –exec rm{} ; >/dev/null
30 2 * * * find /tmp –atime 7 –exec rm{} ; >/dev/null
2.删除core文件
当系统中一些进程由于收到一些信号而非正常结束时,系统便建立一个core文件,记录进程当时的一些信息,包括进程状态、数据以及硬件寄存器的值等。在这些core文件没有用的时候,可以考虑删除它们。
3.清除系统日志文件
日志文件包含了有关系统运行情况的信息和用户访问系统的情况,系统在运行过程中,会不断地把新的信息添加到日志文件中,因此日志文件会急剧增多,系统中主要的日志文件有:
/usr/adm/acct 记帐日志文件
/usr/adm/messages 系统信息日志文件
/usr/adm/sulog 命令使用日志文件
/usr/adm/vold.log 卷管理日志文件
/usr/spool/uucp/LOGFILE uucp的记录
/usr/spool/uucp/.Log/.Old/* 旧的uucp日志文件
/usr/spool/lp/logs/requests 打印请求记录
/var/log/syslog 系统日志文件
上述有的日志文件对分析系统出现的故障有帮助,因此在清除时要慎重。
4.压缩不常使用的文件
对平时不经常使用的文件可以进行压缩,以便节省空间,压缩与解压缩的命令有:compress和uncompress;gzip和gunzip等命令。
5.减少小文件的使用
文件系统中的i节点数目是一定的,系统中如果小文件太多,会浪费很多的i节点,这样可能会导致系统中虽然还有磁盘空间,但无法创建新文件的情况。可以把多个小文件合并成一个大文件以节省i节点,也可以删除系统中不再需要的文件。
6.增加文件系统i节点的数目
从文件系统的结构看,一个文件占用一个i节点和若干个数据块。当i节点用完时,可考虑在硬盘上重新建立文件系统,指定比较大的i节点数目。这时首先要备份原文件系统,然后卸载该文件系统,使用mkfs重新建立文件系统,指定更大的i节点数目,该命令的格式为:
#mkfs 设备文件数目:新的i节点数目
把新的文件系统安装到系统中,最后利用备份恢复文件系统的内容。

推荐阅读
  • 是不是zlib是这些库的压缩算法的实现库,而这么多库它们只是在打包的时候使用了zlib进行压缩而已.而具体的打包格式就有ZIP,BZIP2,GZ之分?但是在我们在用gz压缩时候通常之前 ... [详细]
  • GPS 校验和 代码_Linux recovery 移除签名校验
    原创作者:王锐,多年Linux系统、龙芯平台移植与优化研发经验,LinuxContributor、Mozillian。背景某个设备配套的刷 ... [详细]
  • Linux操作系统回炉复习各种常用命令集合解析
    Linux操作系统回炉复习各种常用命令集合解析猿码互联猿码互联今天Linux终端命令格式目标了解终端命令格式知道如何查阅终端命令帮助信息01.终端命令格式command[ ... [详细]
  • kafkamanager(cmak)安装及使用
    1.软件下载kafka-manager工具目前改名为cmak,下载地址为:https:github.comyahooCMAKreleasestag3.0.0.5现在 ... [详细]
  • Day17_16_SpringCloud教程之Feign高级功能详解
    Feign高级功能详解注意:本篇Feign的高级功能实现请参考上一篇博客.Feign的高级功能实现以上一篇博客代码为基础,我们主要修改service_feign_consume ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Nginx简介Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAPPOP3SMTP代理服务器。Nginx是由IgorSysoev为 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 本文介绍了在Linux系统下进行文件压缩与解压的常用命令,包括tar命令的基本使用和参数,以及gzip、bz2、compress、rar和zip等不同格式的压缩与解压方法。同时还提供了常见的压缩文件后缀名及对应的解压命令,方便用户进行文件的压缩和解压操作。 ... [详细]
  • gzip html php,Apache启用Gzip压缩的方法,压缩css、js、html等文件
    1、开启模块并添加配置项目a、linux服务器vietchttpdconfhttpd.conf本地服务器找到apacheconf文件夹下面httpd.confb、查找LoadMod ... [详细]
  • linux的一直是从windows转到linux的用户关心的问题。由于众所周知的原因,有经验的windows用户都养成了用ghost等软件windows的“优良传统” ... [详细]
  • 1、为什么要对nginx平滑升级随着nginx越来越流行,并且nginx的优势也越来越明显,nginx的版本迭代也来时加速模式,1.9. ... [详细]
  • #!binbashusrlocalmysqlbinmysqldump#保存备份个数number2#备份保存路径backup_dirrootmysqlbackup#日期dddate% ... [详细]
author-avatar
为谁落慕
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有