io hang linux 原理,Linux 避免IO hang
对于DB Server 来说,删除大表来说是很棘手的。本文引用地址:http://www.eepw.com.cn/article/201610/305499.htm
删除大表的话,可以对原有表的.ibd文件建立硬链接。当多个文件名指向同一个Node时,删除任何一个文件名都很快,因为直连的物理文件没有删除只是删除了一个指针而已。当Node引用数为1的时候,删除文件需要把文件相关的所有数据块都删除。
具体参考:
今天我们只讨论,如果我们利用了以上方法建立了硬链接文件,那么删除该大文件的时候,如何避免IO hang呢?
答案是 coreutils 工具集中的 truncate 工具
wget
tar -zxvf coreutils-8.9.tar.gz
cd coreutils-8.9
./configure
make
sudo cp src/truncate /usr/bin/
truncate 收缩或扩展文件至指定大小
语法: truncate option ... file ...
如果文件不存在的话会被创建。
如果一个文件的size比指定的size大,则该文件会被截断丢是一部分数据,如果size比指定的小,那么他会0字节填充。
option:
-c
--no-create 如果没有该文件的话也不会创建
-o
--io-blocks 对于文件的size大小以I/O block来对待
-r rfile
--reference=file Base the size of each file on the size of rfile
-s size
--size=size 根据下面的选项,调整文件的大小
‘KB’ => 1000 (KiloBytes)
‘K’ => 1024 (KibiBytes)
‘MB’ => 1000*1000 (MegaBytes)
‘M’ => 1024*1024 (MebiBytes)
‘GB’ => 1000*1000*1000 (GigaBytes)
‘G’ => 1024*1024*1024 (GibiBytes)
或者是 T P E Z这样的单位
根据下面的符号,根据他们本身的size来调整大小
+ 扩展
- 缩小
至多
> 至少
/ 向下舍入的倍数
% 向上的倍数
简单举例:
touch abc
truncate -s +1KB abc
truncate -s +1KB abc
ll abc
-rwxrwxrwx 1 root root
io hang linux 原理,Linux 避免IO hang相关推荐
- 操作系统与存储:解析Linux内核全新异步IO引擎io_uring设计与实现
作者:draculaqian,腾讯后台开发工程师 引言 存储场景中,我们对性能的要求非常高.在存储引擎底层的IO技术选型时,可能会有如下讨论关于IO的讨论. http://davmac.org/dav ...
- linux 服务hang住原因,Python主进程hang住的两个原因
最近使用Python遇到两个非常不好定位的问题,表现都是Python主进程hang住.最终定位出一个是subprocess模块的问题,一个是threading.Timer线程的问题. subproce ...
- 如何提高Linux下块设备IO的整体性能?
编辑手记:本文主要讲解Linux IO调度层的三种模式:cfp.deadline和noop,并给出各自的优化和适用场景建议. 作者简介: 邹立巍 Linux系统技术专家.目前在腾讯SNG社交网络运营部 ...
- linux 重定向_Unix/Linux编程实践之IO重定向和管道
I/O重定向的原理模型 ls > test.file是如何工作的?shell是如何告诉程序把结果输出到文件,而不是屏幕? 在who | sort > user.file中,shell是如何 ...
- Linux中的基础IO(二)
Linux中的基础IO(二) 文章目录 Linux中的基础IO(二) 一.基本接口 二.文件描述符 三.文件描述符的分配规则 四.重定向 五.dup2系统调用 六.minishell 一.基本接口 i ...
- Linux中的文件IO
1.什么是文件IO (1)IO就是input/output,输入/输出.文件IO的意思就是读写文件. 2.linux常用文件IO接口 (1)open.close.write.read.lseek 3. ...
- Linux系统进阶-基础IO
Linux系统进阶-基础IO 文章目录 Linux系统进阶-基础IO C语言中的文件接口 对文件进行写入 对文件进行读取 什么是当前路径 默认打开的三个流 stdout & stderr 系统 ...
- Linux 查看CPU 内存 IO使用率,linux 查看CPU内存 网络 流量 磁盘 IO
使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...
- 【Linux】【基础IO】
目录 一.什么是文件 如何在系统角度理解文件? 什么是一切皆文件 二.复习一下C的接口 perror fwrite.fprintf.fputs 要不要+1的问题 ①w模式 ②a模式追加 fgets按行 ...
最新文章
- iOS HitTest 机制
- 第60天:js常用访问CSS属性的方法
- jboss7 应用详解_COMSOL Multiphysics多物理场仿真技术与应用光电专题线上培训
- Hadoop中-put和-copyFromLocal的区别
- BestCoder Round #85
- USTC English Club Note20171013(2)
- python 扯线木偶_Python计算器求助~求大神指导~QAQ急!
- ThinkPHP简单的验证码实现
- python如何运用ols_使用OLS回归(Python,StatsModels,Pandas)预测未来值
- 回答嵌入式初学者的一些问题
- 性能测试小总结(四) 结果分析(未完成)
- 子程序调用编程序例子_汇编程序设计:LCD1602静态显示
- 学习马士兵Java教程
- Python调用WebService接口
- Mac 下修改eclipse内存设置
- 计算机系统 ahci模式,ahci模式,教您怎样开启ahci模式
- 面试:如何用最少的老鼠试出有毒的牛奶?
- Microsoft SQL Server 2012(附序列号)
- 微信小程序图片无法存入云开发数据库,求解决
- 如何成为一位数据科学家
热门文章
- Comparable和Comparator接口是干什么的?列出它们的区别。
- 使用JDBC处理Oracle大数据
- 微信小程序中rpx与rem单位使用
- 分层贝叶斯模型——结构
- Win8 64位安装Oracle 11g时错
- 面向对象的七种设计原则
- java+tomcat(apr,native)
- 利用navicat for mysql实现mysql数据库表结构复制
- [Winodows Phone 7控件详解]Silverlight toolkit for Windows Phone 7.1控件-5
- Django-04-路由系统