您现在的位置:首页 --> 查看专题: SWAP
我在Linux下使用vi命令打开桌面的一个hello.ksh文件时,出现Swap file "hello.ksh" already exists!的错误,出现这种错误的原因是Linux下可能同时有多个用户正在编辑一个文件,或者是编辑的时候非正常关闭了,那么再次打开的时候就会出现上面的这种错误。我出现这种错误的原因时,我强制关机了一下。出现这种问题的解决方法如下。。。
说个案例:一台Apache服务器,由于其MaxClients参数设置过大,并且恰好又碰到访问量激增,结果内存被耗光,从而引发SWAP,进而负载攀升,最终导致宕机。 正所谓:SWAP,性能之大事,死生之地,存亡之道,不可不察也。 哪些工具可以监测SWAP 最容易想到的就是free命令了,它指明了当前SWAP的使用情况......
Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
Swap分区的数量对性能也有很大的影响。因为Swap交换的操作是磁盘IO的操作,如果有多个Swap交换区,Swap空间的分配会以轮流的方式操作于 所有的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待 状态,效率很低。用性能监视工具就会发现,此时的CPU并不很忙,而系统却慢。这说明,瓶颈在IO上,依靠提高CPU的速度是解决不了问题的。
有一台服务器老是交换扇区占满然后失去响应,很烦,因为加载了以前别人写的一个php扩展,效率低,资源占用大,悲剧的是现在还没有可以替换的东西。折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了if /etc/init.d/php5-fpm restart|grep -c fail这一句中间的命令换成你自己的即可
当系统swap空间所剩不多时,可通过在本地磁盘上创建普通文件作为swap,步骤如下: $ dd if=/dev/zeroof=./swapfile bs=1M count=1000 $ mkswap ./swapfile $ swapon ./swapfile即可为系统临时增加1G的swap。使用完毕后执行: $ swapoff ./swapfile $ rm -f swapfile
对以磁盘IO性能,一般有如下评判标准:正常情况下svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值造成影响,过多的请求也会间接的导致svctm值的增加。await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。%util项的值也是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。
前几天发了几篇自己学习linux磁盘管理的笔记,磁盘管理就基本上那些东西啦。今天补充点磁盘管理相关的两个比较重要的东西:连接、虚拟内存。先说说连接吧有人问,连接是啥哦,说白了,就是相当于windows...
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷。Red Hat Enterprise Linux5可以在这样的情况下工作:完全没有交换分区,而且系统中匿名内存页和共享内存页小于3/4的物理内存量。在这种情况下,系统会将匿名内存页和共享内存页锁定在物理内存中,而使用剩余的物理内存来缓冲文件系统数据(pagecache),当内存耗尽时,系统内核只会回收利用这些 pagecache内存。
MySQL的性能优化文章有很多,这里介绍个通过优化Swap & Memory来提高性能的方法。 The VM for Linux prefers system cache over application memory. What does this mean? The best way I can explain is by example. Imagine you have 32 GB of RAM MySQL is set to take 20 GB of RAM for a process based buffer and up to 6M for the various thread buffers. Over a period [...]
[ 共10篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [69] Twitter/微博客的学习摘要
- [67] IOS安全–浅谈关于IOS加固的几种方法
- [65] 如何拿下简短的域名
- [65] android 开发入门
- [63] find命令的一点注意事项
- [62] Go Reflect 性能
- [61] 流程管理与用户研究
- [60] Oracle MTS模式下 进程地址与会话信
- [59] 图书馆的世界纪录
- [57] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告