Linux运维常识

  1. Load average:我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载。很多人会这样理解负载均值:三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟),它们的数字当然是越小越好。数字越高,说明服务器的负载越大,这也可能是服务器出现某种问题的信号。
    而事实不完全如此,是什么因素构成了负载均值的大小,以及如何区分它们目前的状况是 “好”还是“糟糕”?什么时候应该注意哪些不正常的数值?  系统是以处理器的核心数量计算负载均值 。这使我们有了两个新的法则:
    “有多少核心即为有多少负荷”法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量
    “核心的核心”法则: 核心分布在分别几个单个物理处理中并不重要,其实两颗四核的处理器 等于 四个双核处理器 等于 八个单处理器。所以,它应该有八个处理器内核。
    以单核处理器为例:
    我们应该着眼于五分钟或者十五分钟的平均数值。坦白讲,如果前一分钟的负载情况是 1.00,那么仍可以说明认定服务器情况还是正常的。 但是如果十五分钟的数值仍然保持在 1.00,那么就值得注意了(这时候你应该增加的处理器数量了)。
    理想状态下,都希望负载平均值小于 1.00 。当然不排除部分峰值会超过 1.00,但长此以往保持这个状态,就说明会有问题,这时候你应该会很焦急。“所以你说的理想负荷为 1.00 ?”
    嗯,这种情况其实并不完全正确。负荷 1.00 说明系统已经没有剩余的资源了。在实际情况中 ,有经验的系统管理员都会将这条线划在 0.70
    “需要进行调查法则”: 如果长期你的系统负载在 0.70 上下,那么你需要在事情变得更糟糕之前,花些时间了解其原因。
    “现在就要修复法则”:1.00 。 如果你的服务器系统负载长期徘徊于 1.00,那么就应该马上解决这个问题。否则,你将半夜接到你上司的电话,这可不是件令人愉快的事情。
    “凌晨三点半锻炼身体法则”:5.00。 如果你的服务器负载超过了 5.00 这个数字,那么你将失去你的睡眠,还得在会议中说明这情况发生的原因,总之千万不要让它发生。
    参考资料:
    http://windows.chinaitlab.com/info/797753.html
    http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html
    http://songxj.blog.51cto.com/620981/840906
    http://heipark.iteye.com/blog/1340384
    http://hi.baidu.com/xingzai621/item/e1bb4526d537c0424799620a
  2. 在Load average 高的情况下如何鉴别系统瓶颈。
    是CPU不足,还是io不够快造成或是内存不足?
    a、查看系统负载vmstat
    b、查看磁盘负载iostat
    参考资料:http://hi.baidu.com/xingzai621/item/e1bb4526d537c0424799620a
  3. 性能调优攻略(知识点很完善,非常值得学习):http://coolshell.cn/articles/7490.html
  4. Linux性能分析与调整命令汇总:http://www.7dtest.com/site/forum.php?mod=viewthread&tid=5325
  5. 性能测试(并发负载压力)测试分析-简要篇:http://blog.51testing.com/?49159/action_viewspace_itemid_869.html
  6. linux操作系统性能优化(网络,磁盘,文件系统,内存):http://performtesting.whoistester.com/tune/57-linux.html
  7. TCP/IP体系结构-测试人员必须理解的:http://www.cnblogs.com/candle806/archive/2011/11/09/2242273.html
  8. 网络和服务器压力参考值:在应用服务器和数据库服务器正常状态下,即CPU占用 率80%以下(合理使用的范围在60%至70%),磁盘I/O在40%以下,内存占用率80%以下
  9. CentOS 6.x 怎么进入单用户模式
    方法一:系统启动引导到grub启动时(显示启动选项),按下c进入grub的命令模式。
    然后在kernel所在行按下e键,在该行后面加上single。然后再输入b引导系统就可以进入单用户模式了。
    例子:
    kernel /vmlinuz-xxxxx ro root=/dev/VolGroup00/LogVolRoot single
    方法二:如果已经进入系统了直接输入init 1也能进入,
    方法三:也可以修改/etc/inittab文件,找到id:5:initdefault 改称id:1:initdefault 然后保存,以后都会进单用户模式.
  10. 用户名密码都正确却不能登录Linux服务器
    现象:
    在本地采用字符界面的方式登录不成功,远程没问题
    具体表现为:
    输入用户名:root
    密码: *********** 回车
    没反应,又回到用户名、密码
    解决方案:
    最可能有以下几种:
    一、磁盘空间满了无法登录Linux服务器。重启服务器试试或者删掉一些不必要的文件。
    二、确实是密码忘记了,进入单用户模式改密码就行了。
    三、可能安装了一些软件文件被修改引起的,例如装有oracle 10G ,
    修改 vi /etc/pam.d/login
    将里面的最后一行:“ session required /lib/security/pam_limits.so ”
    把它改成:session required /lib64/security/pam_limits.so 保存就ok啦!
  11. Linux Crontab 请求url
    */3 * * * * root /usr/bin/curl http://www.test.com >> /data/wwwroot/log/hualady.com.log
    参考资料:
    http://www.dewen.org/q/8294
    http://www.imphper.cn/imphper-php-view.php?id=672
  12. linux系统时间修改及同步
    ntpdate asia.pool.ntp.org
    上面此命令就是去同步授时中心的时间
    如果要让系统每天23:00去同步,这样可以使用上面所将的crontab设置计划同步
    如下命令
    #crontab -e
    进入crontab编辑模式,使用方法同vi
    输入 0 23 * * * ntpdate asia.pool.ntp.org >> /var/log/ntpdate.log
    保存退出
    这样就完成了你的系统到每天23:00去asia.pool.ntp.org 同步时间,并将同步的日志放到
    /var/log/ntpdate.log
  13. 使用Google的DNS解析服务器8.8.8.8
    打开命令终端,分别运行echo nameserver 8.8.8.8 > /etc/resolv.conf
    echo nameserver 8.8.4.4 > /etc/resolv.conf这两行命令直接将8.8.8.8与8.8.4.4写入Linux的DNS客户端解析文件resolv.conf里。
    另外,短IP的DNS服务器还有以下这些:4.3.2.1
    4.2.2.1
    4.2.2.2
    4.2.2.3
    4.2.2.4
    4.2.2.5
    4.2.2.6
    参考资料:http://www.ha97.com/951.html
  14. 更改centos yum 成中国镜像加快yum速度
    163的开源镜像地址 http://mirrors.163.com/.help/CentOS-Base-163.repo
    不同版本见http://mirrors.163.com/.help/centos.htmlsohu的开源镜像地址 http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
    不同版本见http://mirrors.sohu.com/help/centos.html中国科技大学 http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=2
    不同版本见http://lug.ustc.edu.cn/wiki/mirrors/help/centos如果使用上面YUM源的话,最好把里面的 mirrorlist 注释掉,否则系统会启动 fastesmirror 插件自动检查的,并不一定会使用这个yum源的.我用的是中国科技大学的速度不错。方法:直接下载源文件CentOS USTC mirror 这个镜像不错,大家更新可用这个#yum -y install wget
    #cd /etc/yum.repos.d
    #mv CentOS-Base.repo  CentOS-Base.repo.save
    #wget http://centos.ustc.edu.cn/CentOS-Base.repo
    #yum makecache注意:如果为第一次安装的新系统的话,则需要先安装wget这个下载软件,不然没有办法下载CentOS-Base.repo这个文件的。参考资料:http://blog.haohtml.com/archives/5669
  15. 使用yum -y update升级系统与yum -y upgrade的区别
    检查并安装系统的更新;
    yum -y upgrade
    注:是使用 yum -y update升级系统还是使用yum -y upgrade看个人习惯,这两者区别是:
    update升级所有包,改变软件设置和系统设置,系统版本内核都升级;
    upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变。
    个人建议是:如果全新安装一台服务器,则使用update,如果是一台已经配置好并正在运行的服务器,则使用upgrade.
  16. 安装常用的一些环境和工具;
    这里有两种安装习惯,暂时我也说不出区别,感觉上应该都差不多,只是习惯不同;
    A,安装所有开发、环境相关的;
    yum -y groupinstall "Development tools"
    yum -y groupinstall "Additional Development"
    yum -y groupinstall "Compatibility libraries"B,根据自己习惯来指定安装一些常用的环境和工具;
    yum install -y gcc gcc-c++ gdb apr apr-devel apr-util-devel apr-util db4 db4-devel expat expat-devel boost boost-devel libevent libevent-devel openssl openssl-devel bzip2 bzip2-devel flex byacc  readline readline-devel pcre pcre-devel python python-devel vim wget curl libcurl-devel m4 bison emacs libxml2 libxml2-devel  libstdc++ libstdc++-devel ncurses ncurses-devel lrzsz openssh-clients lzo make sysstat rdate rsync lzma dmidecode pciutils ftp telnet libtool glib2-devel libtool-ltdl libtool-ltdl-devel uuid file uuid-devel e2fsprogs-devel libuuid-devel libxslt-devel man subversion subversion-devel zip unzip patch lzo-devel lsof man-pages fprintd-pam screen nc cmake
    这个就是在今后的使用过程中不断总结归纳,将用习惯的工具都列到这个步骤里去。
  17. 系统安装
    系统安装时采用最小化原则,只安装base services。安装完毕后首先运行yum update 更新系统,重启。
  18. 安全配置基本原则
    只对外开放所需要的服务,关闭所有不需要的服务。对外提供的服务越少,所面临的外部威胁越小。
    将所需的不同服务分布在不同的主机上,这样不仅提高系统的性能,同时便于配置和管理,减小系统的安全风险。
  19. CentOS与Windows双系统时间不同步的问题
    因为各种原因,我的笔记本还是双平台共存。就遇到了两个系统中时间不一致的问题,其起因在于Windows默认使用硬件时间,而CentOS下采用UTC时间,所以对于中国来说相差了8个小时。要想使两个系统时间保持一致的关键就在于强制时他们一致,我的做法是在CentOS中关闭UTC时间。其它:『系统时钟使用 UTC』(System clock uses UTC) 可以让 Fedora 假定您计算机的硬件时间是使用 UTC 时区(即格灵威治时间) ,这比用日光节约时间更准确。当然港澳台等地区没有日光节约时间,作用不大。加上微软窗口世界一直都认定硬件时间是使用使用者所设的的时区。如果您的计算机有多个操作系统,启动这个选项会让时间不协调。所以一般人都会关闭这选项。
    总结:如果是单CentOS系统,可以使用UTC时间,如果是双系统,则取消UTC时间。
  20. 用yum升级内核
    yum update kernel
  21. 文件属性 -rw-rw-r--. 中的最后一点代表什么?
    rw-r--r--.:-rw-r--r--后面的一点 开了SELinux或者用的ext4就会有
    不重要。
    经测试,关了SELinux后面的点也存在,所以觉得应该是ext4文件系统的原因。
发表评论?

1 条评论。

  1. 谢谢博主的分享,过来就是想露个面多结交些做的好的同行。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据