linux
文章平均质量分 73
repls
这个作者很懒,什么都没留下…
展开
-
shell命令 2>&1
在unix高级环境编程第三章的习题有一个问题:./a.out > outfile 2>&1 # 1./a.out 2&1 > outfile # 2问这两者有什么区别。这个首先的说明几点:1.在unix和类unix(linux之类)中以文件描述符的形式打开一个文件,这个文件描述符是一个非负数。2.0代表标准输入,1代表标准输出,2代表标准错误输出3.默认的情原创 2012-04-06 23:37:13 · 1723 阅读 · 1 评论 -
Linux sudo命令与其配置文件/etc/sudoers
对linux有一定了解的人多少也会知道点关于sudo命令。sudo命令核心思想是权限的赋予 ,即某个命令的所属用户不是你自己,而你却有权限执行它。但是我们需要注意的是,虽然你有权限执行这个命令,但是在执行的时候却仍是以这个命令本身所属用户来完成的[注释1]。(su命令类似sudo命令,但是两者的差别在于前者su是一个粗粒度权限赋予,对su最好的理解我觉得是change user running原创 2012-05-01 23:54:05 · 12571 阅读 · 0 评论 -
cron -e无法退出的解决办法
今天晚上一个脚本不好写(是基本功不扎实),然后又不想浪费睡眠时间的8-9个小时,于是想到了cron定时任务,结果cron -e后死无法保存退出,从网上找了原因,好像是cron -e默认是用一个其他风格的编辑器打开的,因此不用使用vi的习惯。 但是有一种方法可以让cron -e使用vi编辑器,方法是: export EDITOR=vi,我猜想那cron -e在工作的时候肯定也是有一个判定条件 if原创 2012-07-24 01:15:45 · 3671 阅读 · 0 评论 -
Linux /proc第一篇---->/proc/pid记录了什么
由于自己Linux系统知识基础比较薄弱,准备比较全面学习,准备从/proc这个目录开始。实际上这个目录也基本上记录所有系统运行时和内核的一些信息,所以如果想对linux系统有一个比较全面的了解,从/proc入手应该是个不错的选择。准备将自己学习的过程记录下来,分享给同样需要的朋友,也便于以后查阅。今天准备介绍一下/proc/pid这个目录到底是做什么用的,它到底记录了哪些信息。原创 2012-09-20 21:15:26 · 2299 阅读 · 0 评论 -
sync/fsync/fdatasync的简单比较
之前在研究MySQL的一个参数innodb_flush_method时,就涉及到了fsync/fdatasync这些系统调用[system call](什么是系统调用?它与库函数的区别在哪?参见这里)。接下来就简单的分析一下sync/fsync/fdatasync的区别。 sync():int sync( void )这就是它的原型,A call to this function原创 2012-09-07 21:27:50 · 6267 阅读 · 0 评论 -
Linux I/O调度策略
I/O scheduler的作用就是为上层应用发过来的IO请求做一个优化,它主要完成两件事:merge and sort。以此达到提高系统吞吐量、缩短响应时间的目的。为什么要merge and sort,因为在机械磁盘时代寻道时间的代价很大,如果能对相邻物理地址的请求顺序做优化那么可以大大的提高读写性能。更改I/O scheduler有两种方式:1./sys/block/device_na原创 2012-04-06 23:02:06 · 2528 阅读 · 0 评论 -
概谈“应用反应某些操作或查询慢”的处理方法(从MySQL DBA角度)
作为一个运维人员或多或少都会从应用开发那边得到类似“为什么用户反应很多操作慢?或者为什么我这里统计的日志里面出现了较多的查询较慢?”。那么遇到此问题我们该怎么来解决呢?我今天就利用自己的工作经验从MySQL DBA的角度来简单分析一下这个问题。 首先我们得区分这种查询慢或者操作慢发生的频率怎么样。按理来说这种状况不会经常发生,一个产品上线前都有专门的QA团队对其进行功能测试/压力原创 2013-01-14 15:44:14 · 6403 阅读 · 4 评论 -
Linux下防止进程使用swap及防止OOM机制导致进程被kill掉
首先解释两个概念:swap:在linux里面,当物理内存不够用了,而又有新的程序请求分配内存,那么linux就会选择将其他程序暂时不用的数据交换到物理磁盘上(swap out),等程序要用的时候再读进来(swap in)。这样做的坏处显而易见,swap in/swap out这里的代价比较大,相比数据一直放在内存里面,多了读磁盘的操作,而磁盘IO代价。。大家都懂的。OOM:out of m原创 2012-04-17 19:19:06 · 6812 阅读 · 0 评论 -
使用tmpfs文件系统做MySQL tmpdir潜在的问题
在前面我写过一篇关于tmpfs和ramfs对比分析的文章。当初也是因为看到有人用/dev/shm(tmpfs)做MySQL tmpdir,于是就去学习了下tmpfs。今天再次谈这个问题是因为使用tmpfs做MySQL tmpdir(以后简称tmpdir)确实还是存在一些问题的,而且在某些特定的Linux 内核版本还会触发bug。今天写篇文章记录一下。 当时的机器环境信息:原创 2013-03-10 21:45:18 · 3259 阅读 · 0 评论 -
一点关于Linux mv/rm命令的“有趣事“
今天要说的mv/rm这两个命令的“趣事”是再使用mysql时遇到的。我先将问题贴出来,你也先思考一下,看看你的答案是什么。 环境:mysql5.5,innodb_file_per_table=1 问题:一个mysql实例在跑,数据库里面新创建一张表t1(因为是独立表空间所以有一个数据文件叫做t1.ibd),然后我rm或者mv t1.ibd文件,然后继续对这个表进原创 2012-09-24 20:36:41 · 2209 阅读 · 1 评论 -
bash shell获取进程的pid
前几天在写一个脚本时在获取进程的pid时出现了一点点意外,当时的情境大概是这样的:跑一个任务A,然后任务B要监控A的状态,一旦A结束,B也要结束。当初第一反应就是获取B的pid然后判断A是否在运行,如果没有则kill掉B。可是当初就是不成功(用的是 $!),于是迫于任务紧急换了一种笨方法:让B的运行时间稍长于A任务(A任务的时间可以估算出来),于是就这样傻缺的开始了这个任务。 今天原创 2012-07-30 21:55:06 · 7299 阅读 · 0 评论 -
Linux环境变量LD_LIBRARY_PATH(指定share libraries)
今天在使用自己编译的MySQL时遇到了一个问题:使用自己编译的这个MySQL的mysql工具连接实例时老是报错*clientmsyql.so文件找不到,当时的连接方式为./basedir/bin/mysql ... 这样肯定就是使用自己编译的这个MySQL自带的mysql工具了。去basedir 的lib目录里面看了下明明存在那些*.so文件,那为什么会提示找不到呢?这个可能是编译的问题了吧(自己原创 2012-08-30 23:04:43 · 3169 阅读 · 0 评论 -
浅析ext3删除文件慢的原因
做运维的估计都知道使用ext3文件系统时删除大文件很慢,那么大家有没有想过为什么呢?我也有过同样的疑问,于是查了相关资料并找到了一些理由。在ext系列的文件系统中有一个很重要的概念inode(它与文件独立存在),它维护了文件的相关属性信息。struct ext3_inode { __u16 i_mode; /* File mode */ __u16 i_uid;原创 2012-04-07 10:39:55 · 2620 阅读 · 0 评论 -
运维必须要知道的几个Linux服务器监控命令
有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程序占用了很多系统资源,所以说,尽管 GUI 用来做基本的服务器健康状态监测挺好,但如果你想知道真正发生什么,请关掉 GUI 开始命令行之旅吧转载 2012-04-06 23:22:34 · 1763 阅读 · 0 评论 -
Linux的man那点事
用过linux的朋友估计没有谁不熟悉man命令,大家都知道利用它可以查看到linux绝大部分命令的使用方法(但不是全部),除了这个你还了解它什么呢?其实了解man可以查看其它命令的使用方法就掌握了它的核心,但是最近看书的时候又找到了它的一点其他信息。哈哈,你就将这篇文章当做扯谈吧!~1. man其实是manual的缩写(不会很多人认为它是"男人"吧),表示手册、指南的意思。2. 其原创 2012-04-27 20:13:31 · 1038 阅读 · 0 评论 -
Linux命令find -perm使用方法
花了点时间才将linux中find命令的-perm参数弄懂,分享一下。find -perm,根据文件的权限来查找文件,有三种形式:find -perm modefind -perm -modefind -perm +mode那么这三者之间有什么区别呢?解释之前首先得简单说一下linux中文件权限位的概念。在linux中文件或目录有三者权限r,w,x,代表的含义分别是读、原创 2012-05-02 17:03:44 · 12258 阅读 · 0 评论 -
Linux系统控制文件 /etc/sysctl.conf
/etc/sysctl.conf这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。这样或许你不理解,先看看我的系统/etc/sysctl.conf这个文件里面有什么内容:cat /etc/sysctl.conffs.file-max = 3145728fs.suid_dumpable = 1kernel.core_uses_pid原创 2012-04-18 17:05:14 · 9306 阅读 · 0 评论 -
浅谈linux的inode
linux中inode是个什么概念呢?简单的说inode是一个不能重复的标号一样,每个文件或目录对应一个inode值,那个inode包含哪些部分,有什么作用呢?这里拿ext3文件系统的inode数据结构来说:struct ext3_inode { __u16 i_mode; /* File mode */ __u16 i_uid; /* Low 16 bits of Ow原创 2012-05-04 19:15:45 · 5102 阅读 · 0 评论 -
dd: opening `/dev/zero': Invalid argument的错误原因
又是一个小记录: 今天跑脚本时发现运行报错,出错代码是这样的:(time dd iflag=direct,nonblock if=/dev/zero of=/dev/"$i" bs="$size"k count=`expr 140000000 / "$size"`) 2>> "$disks"_"$size"_w_"$k" & 。 之前还死活没找到原因,后来突然发现,我这明明是测的写,为什么要用一原创 2012-07-24 23:02:33 · 4848 阅读 · 0 评论 -
服务器IO性能测试[2]--RAID10结果分析
延续前面的服务器IO性能测试,因为之前的测试结果一直不是很理想:24块SAS盘做24个raid0测出来的随机写波动相当大。读则比较稳定,在利用orion测试过程中随着磁盘数目的增加,iops基本上呈线性增长。接下来又测了raid1,24块SAS盘组成12个raid1,然后继续用orion测随机读写,这次结果基本上与上次raid0相似,不同点在于随机写的波动较raid0较小。这里我就有一个疑问了,一原创 2012-08-08 22:28:29 · 2670 阅读 · 0 评论 -
Linux下tmpfs与ramfs的对比分析
最近看到一篇文章介绍说用内存做MySQL的tmpdir能解决MySQL在使用磁盘临时表性能低的棘手问题,作者建议用tmpfs(常见的还有ramfs)。首先我觉觉得这个想法不错,但是局限性比较大,因为线上总会有些操作需要创建很大的临时表(虽然这样的次数可能不多),如果做一个很大内存的tmpfs那么显然浪费内存,如果做一个较小内存的tmpfs那么对于需要建大临时表的的操作会因为磁盘空间不够失败(比如a原创 2012-11-17 16:23:18 · 3951 阅读 · 2 评论