c# 磁盘空间计算 和 目录空间 、 文件大小 计算

namespace CommonLibrary.SystemUtils
{
    /// <summary>
    /// 表示存储空间大小计量单位
    /// </summary>
    public enum SizeUnitMode
    {
        /// <summary>
        /// 字节
        /// </summary>
        Byte,
        /// <summary>
        /// 千字节
        /// </summary>
        KiloByte,
        /// <summary>
        /// 兆字节
        /// </summary>
        MegaByte,
        /// <summary>
        /// 亿字节
        /// </summary>
        GigaByte,

    }//end enum SizeUnitMode
}//end namespace CommonLibrary.SystemUtils

存储空间大小计量单位

#region 磁盘空间计算
        ///<summary>
        ///获取指定驱动器上存储空间的总大小(以字节为单位)
        /// <example>示例1:获取C盘上存储空间的总大小
        /// Int64 totalSize=CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetTotalSize()
        ///      {
        ///         Int64 totalSize = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="driveName">表示驱动器标识的字母,如C、D、E、F等。注意:它可以是从“a”到“z”的大写或小写字母。Null 值无效。</param>
        ///<returns>以字节为单位的驱动器上存储空间的总大小</returns>
        public static System.Int64 GetTotalSize(string driveName)
        {
            System.Int64 totalSize = 0;

            totalSize = System.Convert.ToInt64(GetTotalSize(driveName, SizeUnitMode.Byte));

            return totalSize;
        }//end method

        ///<summary>
        ///获取指定驱动器上存储空间的总大小
        /// <example>示例1:获取C盘上存储空间的总大小,小数形式更加精确
        /// double totalSizesizeMB = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        /// double totalSizesizeGB = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        /// double totalSizesizeB = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetTotalSize()
        ///      {
        ///           double totalSizesizeMB = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        ///           double totalSizesizeGB = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        ///           double totalSizesizeB = CommonLibrary.SystemUtils.DiskUtil.GetTotalSize("c", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="driveName">表示驱动器标识的字母,如C、D、E、F等。注意:它可以是从“a”到“z”的大写或小写字母。Null 值无效。</param>
        ///<param name="sizeUnitMode">计算空间时使用的单位</param>
        ///<returns>以指定单位表示的驱动器上存储空间的总大小</returns>
        public static System.Double GetTotalSize(string driveName,SizeUnitMode sizeUnitMode)
        {
            System.Double totalSize = 0;
            driveName = driveName + ":" + System.IO.Path.DirectorySeparatorChar;
            System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
            foreach (System.IO.DriveInfo drive in drives)
            {
                if (drive.Name.ToLower() == driveName.ToLower())
                {
                    totalSize = drive.TotalSize;
                }
            }

            switch (sizeUnitMode)
            {
                case SizeUnitMode.MegaByte:
                    totalSize = totalSize / (1024 * 1024 );
                    break;
                case SizeUnitMode.GigaByte:
                    totalSize = totalSize / (1024 * 1024 * 1024);

                    break;
                default :
                    break;

            }//end switch
            return totalSize;
        }//end method

        ///<summary>
        ///获取指定驱动器上剩余空间的总大小(以字节为单位)
        /// <example>示例1:获取C盘上剩余空间的总大小
        /// Int64 freeSize = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFreeSpaceSize()
        ///      {
        ///         Int64 freeSize = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="driveName">表示驱动器标识的字母,如C、D、E、F等</param>
        ///<returns>以字节为单位的驱动器上剩余空间的总大小</returns>
        public static long GetFreeSpaceSize(string driveName)
        {
            System.Int64  freeSpace=0;

            freeSpace = System.Convert.ToInt64(GetFreeSpaceSize(driveName, SizeUnitMode.Byte));

            return freeSpace;
        }//end method

        ///<summary>
        /// 获取指定驱动器上剩余空间的总大小
        /// <example>示例1:获取C盘上剩余空间的总大小,小数形式更加精确
        /// double freeSizeMB = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        /// double freeSizeGB = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        /// double freeSizeB = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFreeSpaceSize()
        ///      {
        ///           double freeSizeMB = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        ///           double freeSizeGB = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        ///           double freeSizeB = CommonLibrary.SystemUtils.DiskUtil.GetFreeSpaceSize("c", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="driveName">表示驱动器标识的字母,如C、D、E、F等。注意:它可以是从“a”到“z”的大写或小写字母。Null 值无效。</param>
        ///<param name="sizeUnitMode">计算空间时使用的单位</param>
        ///<returns>以指定单位表示的驱动器上剩余空间的总大小</returns>
        public static System.Double GetFreeSpaceSize(string driveName, SizeUnitMode sizeUnitMode)
        {
            System.Int64 freeSpace = 0;
            driveName = driveName + ":" + System.IO.Path.DirectorySeparatorChar;
            System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
            foreach (System.IO.DriveInfo drive in drives)
            {
                if (drive.Name.ToLower() == driveName.ToLower())
                {
                    freeSpace = drive.TotalFreeSpace;
                }
            }

            //单位换算
            switch (sizeUnitMode)
            {
                case SizeUnitMode.MegaByte:
                    freeSpace = freeSpace / (1024 * 1024);
                    break;
                case SizeUnitMode.GigaByte:
                    freeSpace = freeSpace / (1024 * 1024 * 1024);

                    break;
                default:
                    break;

            }//end switch
            return freeSpace;
        }//end method

        #endregion 磁盘空间计算

磁盘空间计算

#region 目录空间计算
        /// <summary>
        /// 获取指定目录占用的存储空间的总大小(以字节为单位)
        /// <example>示例1:获取 C:\Resource 目录占用的存储空间的总大小
        /// Int64 directorySize = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetDirectorySize()
        ///      {
        ///           Int64 directorySize = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        /// </summary>
        /// <param name="directoryPath">表示目录的标识,如 C:\myDirectory 等</param>
        /// <returns>以字节为单位的目录占用的存储空间的总大小</returns>
        public static System.Int64 GetDirectorySize(string directoryPath)
        {
            System.Int64 size = 0;

            size = System.Convert.ToInt64(GetDirectorySize(directoryPath, SizeUnitMode.Byte));

            return size;
        }//end method 

        ///<summary>
        ///获取指定目录占用的存储空间的总大小,小数形式更加精确
        /// <example>示例1:获取 C:\Resource 目录占用的存储空间的总大小
        /// double directorySizeMB = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        /// double directorySizeGB = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        /// double directorySizeBB = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetDirectorySize()
        ///      {
        ///          double directorySizeMB = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        ///          double directorySizeGB = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        ///          double directorySizeBB = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySize(@"C:\Resource", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="directoryPath">表示目录的标识,如 C:\myDirectory 等</param>
        ///<param name="sizeUnitMode">计算空间时使用的单位</param>
        ///<returns>以指定单位表示的目录占用的存储空间的总大小</returns>
        public static System.Double GetDirectorySize(string directoryPath, SizeUnitMode sizeUnitMode)
        {
            System.Double size = 0;
            size = GetDirectorySizeDouble(directoryPath);

            //单位换算
            switch (sizeUnitMode)
            {
                case SizeUnitMode.MegaByte:
                    size = size / (1024 * 1024);
                    break;
                case SizeUnitMode.GigaByte:
                    size = size / (1024 * 1024 * 1024);

                    break;
                default:
                    break;

            }//end switch
            return size;
        }//end method

        ///<summary>
        ///获取指定目录占用的存储空间的总大小(以字节为单位)
        /// <example>示例1:获取 C:\Resource 目录占用的存储空间的总大小
        /// Int64 directorySize = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySizeDouble(@"C:\Resource");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetDirectorySizeDouble()
        ///      {
        ///           Int64 directorySize = CommonLibrary.SystemUtils.DiskUtil.GetDirectorySizeDouble(@"C:\Resource");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="directoryPath">表示目录的标识,如 C:\myDirectory 等</param>
        ///<returns>目录占用的存储空间的总大小</returns>
        private static System.Double GetDirectorySizeDouble(string directoryPath)
        {
            System.Double size = 0;
            System.IO.DirectoryInfo directoryInfo = new System.IO.DirectoryInfo(directoryPath);

            //计算当前目录中所有文件的总大小
            System.IO.FileInfo[] fileInfoList = directoryInfo.GetFiles();
            foreach (System.IO.FileInfo f in fileInfoList)
            {
                size += f.Length;
            }

            //计算子目录大小
            System.IO.DirectoryInfo[] directoryInfoList = directoryInfo.GetDirectories();
            foreach (System.IO.DirectoryInfo d in directoryInfoList)
            {
                size += GetDirectorySizeDouble(d.FullName);
            }

            return size;
        }//end method
        #endregion 目录空间计算

目录空间计算

#region 文件空间计算
        //<summary>
        ///获取指定文件占用的存储空间的总大小,返回值小数精确且带单位
        /// <example>示例1:获取 C:\Resource\file1.txt 文件占用的存储空间的总大小
        /// String fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFileSize()
        ///      {
        ///
        ///          String fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="fileFullPath">表示文件的标识,如 C:\Resource\file1.txt 等</param>
        ///<returns>以特定单位表示的文件占用的存储空间的总大小</returns>
        public static System.String GetFileSizeString(string fileFullPath)
        {
            System.Double size = 0;
            CommonLibrary.SystemUtils.SizeUnitMode sizeUnitMode;
            size = GetFileSize(fileFullPath, out sizeUnitMode);
            string result = string.Empty;
            //单位换算
            switch (sizeUnitMode)
            {
                case SizeUnitMode.Byte:
                    result = System.String.Format("{0} B", size.ToString("N", System.Globalization.CultureInfo.InvariantCulture));

                    break;
                case SizeUnitMode.KiloByte:
                    result = System.String.Format("{0} KB", size.ToString("N", System.Globalization.CultureInfo.InvariantCulture));
                    break;
                case SizeUnitMode.MegaByte:
                    result = System.String.Format("{0} MB", size.ToString("N", System.Globalization.CultureInfo.InvariantCulture));
                    break;
                case SizeUnitMode.GigaByte:
                    result = System.String.Format("{0} G", size.ToString("N", System.Globalization.CultureInfo.InvariantCulture));

                    break;
                default:
                    break;

            }//end switch

            return result;

        }//end method

        ///<summary>
        ///获取指定文件占用的存储空间的总大小,返回计算单位,小数精确
        /// <example>示例1:获取 C:\Resource\file1.txt 文件占用的存储空间的总大小
        /// CommonLibrary.SystemUtils.SizeUnitMode unitMode=CommonLibrary.SystemUtils.SizeUnitMode.MegaByte;
        /// double fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt", out unitMode);
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFileSize()
        ///      {
        ///          CommonLibrary.SystemUtils.SizeUnitMode unitMode=CommonLibrary.SystemUtils.SizeUnitMode.MegaByte;
        ///          double fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt", out unitMode);
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="fileFullPath">表示文件的标识,如 C:\Resource\file1.txt 等</param>
        ///<param name="sizeUnitMode">计算空间时使用的单位</param>
        ///<returns>以指定单位表示的文件占用的存储空间的总大小</returns>
        public static System.Double GetFileSize(string fileFullPath, out SizeUnitMode sizeUnitMode)
        {
            System.Double size = 0;
            size = GetFileSizeDouble(fileFullPath);
            if (size >= 0 && size < 1024)
            {
                sizeUnitMode = SizeUnitMode.Byte;
                return size;

            }

            System.Double kb = size / 1024;
            if (kb >= 1 && kb < 1024)
            {
                sizeUnitMode = SizeUnitMode.KiloByte;
                return kb;
            }

            System.Double mb = size / (1024 * 1024);
            if (mb >= 1 && mb < 1024)
            {
                sizeUnitMode = SizeUnitMode.MegaByte;
                return mb;
            }

            System.Double gb = size / (1024 * 1024 * 1024);
            if (gb >= 1)
            {
                sizeUnitMode = SizeUnitMode.GigaByte;
                return gb;
            }

            sizeUnitMode = SizeUnitMode.Byte;
            return size;
        }//end method

        /// <summary>
        /// 获取指定文件占用的存储空间的总大小(以字节为单位)
        /// <example>示例1:获取 C:\Resource\file1.txt 占用的存储空间的总大小
        /// Int64 fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFileSize()
        ///      {
        ///           Int64 fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        /// </summary>
        /// <param name="fileFullPath">表示文件的标识,如 C:\Resource\file1.txt 等</param>
        /// <returns>以字节为单位的文件占用的存储空间的总大小</returns>
        public static System.Int64 GetFileSize(string fileFullPath)
        {
            System.Int64 size = 0;

            size = System.Convert.ToInt64(GetFileSize(fileFullPath, SizeUnitMode.Byte));

            return size;
        }//end method 

        ///<summary>
        ///获取指定文件占用的存储空间的总大小,小数形式更加精确
        /// <example>示例1:获取 C:\Resource\file1.txt 文件占用的存储空间的总大小
        /// double fileSizeMB = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        /// double fileSizeGB = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        /// double fileSizeBB = CommonLibrary.SystemUtils.FileUtil.GetFileSize(@"C:\Resource\file1.txt", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFileSize()
        ///      {
        ///          double fileSizeMB = CommonLibrary.SystemUtils.FileUtil.GetFileSize((@"C:\Resource\file1.txt", CommonLibrary.SystemUtils.SizeUnitMode.MegaByte);
        ///          double fileSizeGB = CommonLibrary.SystemUtils.FileUtil.GetFileSize((@"C:\Resource\file1.txt", CommonLibrary.SystemUtils.SizeUnitMode.GigaByte);
        ///          double fileSizeBB = CommonLibrary.SystemUtils.FileUtil.GetFileSize((@"C:\Resource\file1.txt", CommonLibrary.SystemUtils.SizeUnitMode.Byte);
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="fileFullPath">表示文件的标识,如 C:\Resource\file1.txt 等</param>
        ///<param name="sizeUnitMode">计算空间时使用的单位</param>
        ///<returns>以指定单位表示的文件占用的存储空间的总大小</returns>
        public static System.Double GetFileSize(string fileFullPath, SizeUnitMode sizeUnitMode)
        {
            System.Double size = 0;
            size = GetFileSizeDouble(fileFullPath);

            //单位换算
            switch (sizeUnitMode)
            {
                case SizeUnitMode.MegaByte:
                    size = size / (1024 * 1024);
                    break;
                case SizeUnitMode.GigaByte:
                    size = size / (1024 * 1024 * 1024);

                    break;
                default:
                    break;

            }//end switch
            return size;
        }//end method

        ///<summary>
        ///获取指定文件占用的存储空间的总大小(以字节为单位)
        /// <example>示例1:获取 C:\Resource\file1.txt 文件占用的存储空间的总大小
        /// Int64 fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSizeDouble(@"C:\Resource\file1.txt");
        /// <code>
        /// <![CDATA[
        ///   class MyClass
        ///   {
        ///      //模拟
        ///      public void TestGetFileSizeDouble()
        ///      {
        ///           Int64 fileSize = CommonLibrary.SystemUtils.FileUtil.GetFileSizeDouble(@"C:\Resource\file1.txt");
        ///
        ///       }//end method
        ///   }//end class
        ///   ]]>
        /// </code>
        /// </example>
        ///</summary>
        ///<param name="directoryPath">表示文件的标识,如 C:\Resource\file1.txt 等</param>
        ///<returns>文件占用的存储空间的总大小</returns>
        private static System.Double GetFileSizeDouble(string fileFullPath)
        {
            System.Double size = 0;
            System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileFullPath);

            //计算当前目录中所有文件的总大小
            size = fileInfo.Length;

            return size;
        }//end method
        #endregion 文件空间计算

文件大小计算

时间: 2024-11-07 16:17:43

c# 磁盘空间计算 和 目录空间 、 文件大小 计算的相关文章

解决&quot;更新需要花去xM磁盘上总计/boot的空间...&quot;的问题

解决"更新需要花去xM磁盘上总计/boot的空间..."的问题 系统自动升级会安装多个内核,卸载多余的内核可以获得更多磁盘空间 [email protected]:/home/local# dpkg --get-selections|grep linux       //带有image的为系统内核 www.2cto.com libselinux1 install linux-firmware install linux-generic install linux-headers-3.2

Linux服务器磁盘扩展和oracle表空间文件迁移操作记录

1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux   RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空间不停增长,表空间被设置为自动增长,因此dbf文件在不断增大,硬盘空间在每天约400M的速度减少.数据库虽有自清理的脚本,清理3个月前的数据,但实际增加的数据太多,清理释放的空间不能满足需求了. 3.处理过程 解决思路是,该服务器的硬盘有预留空间,未完全划分的约有100G,可以建立新的分区,将已经存

linux原先规划的硬盘不足了 目录空间不足怎么扩容

这个问题容易发生在 /var/spool/mail 和 /home 下, 假定在/home下 磁盘分区和格式化 Fdisk硬盘分区工具 e2lable 修改磁盘的lable 的工具 mke2fs  linux 下重要的分区工具 硬盘的装载: 装载硬盘的时候先建立装载目录(特别留意) Mount –t  ios9660 /dev/cdrom   /mnt/cdrom  装载光驱 Mount –tvfat     /dev/fd0     /mnt/floppy 装载windows系统文件软驱 Mo

磁盘格式化、磁盘挂载、增加swap空间

Windows文件系统:NTFS.FAT32.FAT16 Linux文件系统: centos7-xfs默认 centos6-ext4 centos5-ext3 centos4-ext2 mkfs命令 用于在设备上创建Linux文件系统 mkfs.xfs /dev/sdb1           将sdb1分区格式化为xfs格式 mkfs -t ext4 /dev/sda6     将sda6分区格式化为ext4格式 mkfs -t ext3 /dev/sda7     将sda7分区格式化为ext

【表空间支持的最大数据文件大小的算法】【数据库限制】【数据文件文件头保留数据块数】

本地管理表空间中设置不同大小的db_block_size时数据文件头保留空间相应例如以下:--?? db_block_size=2KB,文件头保留32个数据块,即64KB. db_block_size=4KB.文件头保留16个数据块,即64KB. db_block_size=8KB,文件头保留8个数据块,即64KB. db_block_size=16KB,文件头保留4个数据块.即64KB. db_block_size=32KB,文件头保留4个数据块.即128KB. --为什么不是64kb? 默认

利用LVS调整目录空间

0.看有没有lvs#lvs  LV      VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  lv_home vg_vhost -wi-ao----  5.40t                                                      lv_root vg_vhost -wi-ao---- 50.00g                         

计算一个目录文件大小方法

<?php $dirfile='../hnb'; /** *计算一个目录文件大小方法 *$dirfile:传入文件目录名 **/ function dirSize($dirfile) { $dir_size=0; if($handle[email protected]opendir($dirfile)) { while($filename=readdir($handle)) { if($filename!='.' && $filename!='..') { $subfile=$dir

磁盘空间不足:这个更新需要花去 109 M 磁盘上总计 /boot 的空间。请在 45.9 M 磁盘上留出 /boot 空间。清空您的回收站和临时文件,用“sudo apt-get clean”清理以前的安装文件。

磁盘空间不足:这个更新需要花去 109 M 磁盘上总计 /boot 的空间.请在 45.9 M 磁盘上留出 /boot 空间.清空您的回收站和临时文件,用“sudo apt-get clean”清理以前的安装文件. 需删除先前升级下载的内核,过程如下: 1.命令:dpkg --get-selections|grep linux     查看系统内核 带  image 的是系统内核 2.  命令:   uname -a       //查看系统当前使用内核 本机当前使用的是  4.2.0-36 内

本地缓存目录空间不足

本地缓存目录空间不足 在切图的时候,为了提高切图的性能,通常会配置集群,采用多台gis服务器同时执行一个切图任务.这样就有一个问题需要解决,那就是如果这么多gis服务器将自己切好的图,立即同时写入到arcgiscache的目录下.则会导致切图的性能的下降. 因此arcgis server提供了这样的机制: 在每个gis服务器上的临时缓存目录生成一个bundle,然后将一个bundle再拷贝到arcgissserver的arcgiscache目录下 NB: 1. 仅适用于紧凑型缓存 2.arcgi