简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 43 下一页

2013年10月1日

摘要: IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法。存在的目的有两个,一是提高IO吞吐量,二是降低IO响应时间。然而IO吞吐量和IO响应时间往往是矛盾的,为了尽量平衡这两者,IO调度器提供了多种调度算法来适应不同的IO请求场景。其中,对数据库这种随机读写的场景最有利的算法是DEANLINE。接着我们按照从简单到复杂的顺序,迅速扫一下Linux 2.6内核提供的几种IO调度算法。1、NOOPNOOP算法的全写为No Operation。该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作。之所以说“大致”,原因是NOOP在FIFO的基 阅读全文
posted @ 2013-10-01 15:10 ggjucheng 阅读(1846) 评论(0) 推荐(0) 编辑

摘要: 我们经常需要在机器之间传输文件。比如备份,复制数据等等。这个是很常见,也是很简单的。用scp或者rsync就能很好的完成任务。但是如果文件很大,需要占用一些传输时间的时候,怎样又快又好地完成任务就很重要了。在我的测试用例中,一个最佳的方案比最差的方案,性能提高了10倍。复制文件如果我们是复制一个未压缩的文件。这里走如下步骤:压缩数据发送到另外一台机器上数据解压缩校验正确性这样做会很有效率,数据压缩后可以更有效的利用带宽使用ZIP+SCP我们可以通过ZIP+SCP的组合实现这个功能。gzip -c /home/yankay/data | ssh yankay01 "gunzip -c 阅读全文
posted @ 2013-10-01 15:05 ggjucheng 阅读(11482) 评论(0) 推荐(2) 编辑

摘要: 用ssh连其他linux机器,会等待10-30秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因:1. DNS反向解析的问题OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间。解决办法:在目标服务器上修改sshd服务器端配置,并重启sshdvi /etc/ssh/sshd_config,设置UseDNS为no即可当然也可以通过提供DNS正确反向解析的方法解决,有如下两种思路(1) 在s 阅读全文
posted @ 2013-10-01 14:57 ggjucheng 阅读(24219) 评论(0) 推荐(1) 编辑

摘要: TCP正常建立和关闭的状态变化TCP连接的建立可以简单的称为三次握手,而连接的中止则可以叫做 四次握手。建立连接在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入EST 阅读全文
posted @ 2013-10-01 14:53 ggjucheng 阅读(9427) 评论(1) 推荐(3) 编辑

摘要: 工作中,一些程序,需要随机启动,但是不是以root用户运行,于是需要在rc.local中通过shell,从root用户切换到其他用户运行程序,命令如下:su -c 'command' - usersudo -u peter /home/blue/hi.sh实例在/etc/rc.d/rc.local中加入如下内容:#vi /etc/rc.d/rc.local su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start" su - oracle -c "/u01/app/oracl 阅读全文
posted @ 2013-10-01 14:14 ggjucheng 阅读(8625) 评论(0) 推荐(0) 编辑

摘要: 名称: pmap - report memory map of a process(查看进程的内存映像信息)用法 pmap [ -x | -d ] [ -q ] pids... pmap -V选项含义 -x extended Show the extended format. 显示扩展格式 -d device Show the device format. 显示设备格式 -q quiet Do not display some header/footer lines. 不显示头尾行 -V show version Displays version of program. 显示版本扩展格式和设备 阅读全文
posted @ 2013-10-01 13:59 ggjucheng 阅读(33249) 评论(0) 推荐(0) 编辑

摘要: ubuntu命令行模式操作svn首先要安装SVN客户端到你的系统才能操作各种命令apt-get install subversion1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m "LogMessage&q 阅读全文
posted @ 2013-10-01 12:59 ggjucheng 阅读(2488) 评论(0) 推荐(2) 编辑

摘要: 单例创建模式是一个通用的编程习语。和多线程一起使用时,必需使用某种类型的同步。在努力创建更有效的代码时,Java 程序员们创建了双重检查锁定习语,将其和单例创建模式一起使用,从而限制同步代码量。然而,由于一些不太常见的 Java 内存模型细节的原因,并不能保证这个双重检查锁定习语有效。它偶尔会失败,而不是总失败。此外,它失败的原因并不明显,还包含 Java 内存模型的一些隐秘细节。这些事实将导致代码失败,原因是双重检查锁定难于跟踪。在本文余下的部分里,我们将详细介绍双重检查锁定习语,从而理解它在何处失效。单例创建习语要理解双重检查锁定习语是从哪里起源的,就必须理解通用单例创建习语,如清单 1 阅读全文
posted @ 2013-10-01 12:41 ggjucheng 阅读(1463) 评论(1) 推荐(0) 编辑

摘要: 引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分析能帮助我们正确的使用Volatile变量。术语定义术语英文单词描述共享变量在多个线程之间能够被共享的变量被称为共享变量。共享变量包括所有的实例变量,静态变量和数组元素。他们都被存放在堆内存中,Volatil 阅读全文
posted @ 2013-10-01 12:32 ggjucheng 阅读(753) 评论(0) 推荐(0) 编辑

摘要: 根据Java语言规范中的说明,JVM系统中存在一个主内存(Main Memory),Java中所有的变量存储在主内存中,对于所有的线程是共享的(相当于黑板,其他人都可以看到的)。每个线程都有自己的工作内存(Working Memory),工作内存中保存的是主存中变量的拷贝,(相当于自己笔记本,只能自己看到),工作内存由缓存和堆栈组成,其中缓存保存的是主存中的变量的copy,堆栈保存的是线程局部变量。线程对所有变量的操作都是在工作内存中进行的,线程之间无法直接互相访问工作内存,变量的值得变化的传递需要主存来完成。在JMM中通过并发线程修改的变量值,必须通过线程变量同步到主存后,其他线程才能访问到 阅读全文
posted @ 2013-10-01 12:01 ggjucheng 阅读(1050) 评论(0) 推荐(1) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 43 下一页