51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程

第一课 Linux运维经验分享与思路

1、一般把主机名,写到hosts下    127.0.0.1    hostname,因为很多应用要解析到本地。oracle没有这个解析可能启动不了。

2、注释掉UUID以及MAC地址,需要绑定网卡的时候,这个可能会有影响。

3、磁盘满了无法启动,  var下木有空间,无法创创建PID等文件,导致文件无法启动,按e   进入single  然后b  重启进入单用户模式。

4、ssh登陆系统策略

/etc/ssh/sshd.conf       port 改成5位数    设置 允许IP

permitroot  改为 no

使用秘钥登录 可以关闭 passwordauth

GSSAPIAuthentication  no 以及UseDNS no 提高ssh链接速度

5、用户权限策略

禁止root用户远程登录系统,授权仅普通用户登录系统,需要管理员权限执行 sudo,避免root用户登录。

/etc/sudoers     (普通用户切换到root权限,sudo 时不需要加密码)

liqilong ALL=(ALL)  NOPASSWD: ALL

6、更新yum源以及必要软件安装

常用的yum源:epel、repoforge软件更新快  系统升级  yum update

7、定时自动更新服务器时间

1、) crontab  推荐服务器 time-a.nist.gov   ntp.sjtu.edu.cn

/usr/sbin/ntpdate ntp.sjtu.edu.cn >> /var/log/ntp.log 2>&1;

/sbin/hwclock -w

执行同步,以及保存

2、) 架设ntp server     /etc/ntp.conf

8、精简开机自启动服务

线上服务建议开启的服务:crond,network,syslog,sshd,iptables,udev-post (资源安全设置),sysstat(系统负载、资源监控)

全部关闭

for serv in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $serv off;done

然后开启需要的服务

for serv in ‘crond network syslog sshd iptables udev-post  sysstat;do chkconfig --level 3 $serv on;done

9、删除无关用户组、用户

查看组  more /etc/group   查看用户  /etc/passwd

10、定时自动清理垃圾文件

du -sh ./*    查看目录里 文件的大小

ls -al   查看全部文件(使用习惯)

/var/spool/cron   每个用户的定时任务都会生成相应的目录

11、重要文件安全策略(重要文件加锁,禁止修改)

chattr +i /etc/sudoers  (加锁)       chattr -i (去锁)

chattr +i /etc/shadow    /etc/passwd   /etc/grub.conf

12、内核参数优化

1、关注ulimit命令   ulimit -a    查看相关参数

需要重点关注:ulimit -c -f -n -u

ulimit -c   core file 类似于 debug,调试程序  ulimit -c unlimited   打开core file

ulimit -f    file  size   限制文件大小

ulimit  -n    open file   最大打开文件个数,大一点  一般 65536,tomcat 可能是404,没有更多的文件可以打开。

ulimit  -u 最大用户进程数,某个用户的最大进程数,一般不需要修改,系统一般设置成最大值。

临时生效,永久生效需要配置文件  /etc/security/limits.conf       以及 /etc/security/limits.d/20-nproc   两个同时配置,20-nproc生效,max user processes 设置在20-nproc

/etc/sysctl.conf

net.ipv4.ip_forward = 0 ,默认关闭,要做代理服务器或nat需要打开

*  soft  nofile 65536     最大打开文件个数

*  hard nofile 65536

13、系统故障排查关注点

1、tail -f /var/log/messages   #应用日志查询

2、tail -f /var/log/secure        #登陆日志查询

3、dmesg     #系统日志查询(内存信息,系统重启保存在/var/log/dmesg)

4、/var/tmp, /tmp #容易***点查询,权限777

5、crontab -l、/etc/crontab    #计划任务查询(经常***对象)

/etc/cron.d    目录下会被 crontab调用, 各个目录(cron.daily/   cron.hourly/  cron.monthly/ cron.weekly/)里面的文件

第二课  Linux系统性能优化思路和方法

一、影响Linux性能的各种因素

1、系统硬件资源

(1)CPU   个数 频率

processor、physical id 、cpu cores(每个CPU核数)、

如何判断CPU 超线程:核数是 physical id   、cpu cores 的两倍使用了超线程

消耗CPU的业务:动态web服务,mail服务

(2)内存       64位系统、磁盘操作改到内存中     swap分区:任何时候都需要,物理内存足够大,swap可以小点 , 服务器内存大于16G,swap可以设为16G,小于16G,swap=物理内存也可以是物理内存*2

消耗内存的业务:内存数据库(redis、hbase、mongodb)读写在内存,支持大并发

(3)磁盘IO

RAID技术:RAID0/1/5/01/10     性能、安全性,RAID1 互为镜像 ,安全性 ; RAID 0 两个磁盘 变为一个; RAID5 带奇偶校验 ;RAID10   底层两个磁盘 RAID0    然后再RAID1,RAID10 安全性、性能 ;数据库重要 RAID10。

消耗磁盘的业务:数据库服务器、、、

(4)网络带宽

网卡/交换机的选择:千兆网卡、接入交换全千兆、核心交换万兆交换

操作系统双网卡绑定:双网卡的负载均衡或者累加

消耗宽带的业务:hadoop平台,视频业务平台

2、操作系统相关资源

系统安装优化、内核参数优化、文件系统优化(xfs高性能文件系统,linux 3.10内核开始默认支持)

读操作频繁,同时小文件众多的应用:首选ext4文件系统,接下来依次是xfs、ext3

写操作频繁的应用:首选是xfs、接下来是ext4和ext3

二、Linux性能优化工具

1、cpu性能评估工具

(1)vmstat 3 5   每三秒输出一次,输出5次

procs   r:运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU个数,说明CPU不足,需要增加CPU核数

b:等待资源的进程数,长期比较大,CPU不足

memory :swap 切换到内存交换区的内存数量,(单位k)

buff表示 buffer cache 一般是对块设备的读写才需要缓冲。

cache 表示page cache 的内存数量,一般作为文件系统caches,频繁访问的文件都会被cached,如果cached值较大。说明caches的文件较多

swap :si 由磁盘进入内存      经常非常大内存不足

so 内存进入磁盘         经常非常大内存不足

IO : bi 从块设备读入数据的总量(读磁盘)(每秒kb)

bo 写入块设备数据的总量(写磁盘)(每秒kb)

bi+bo 超过1000,并且wa值较大,则表示 系统磁盘有问题,应该考虑提高磁盘的书写性能。

system  : in 某一时间间隔中观测到的每秒设备中断数

cs 每秒产生的上下文切换

2个值越大,由内核消耗的CPU时间会越多

CPU : us 用户进程消耗的CPU时间百分比。us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期大于50%,就需要考虑优化程序或算法。

sy 内核消耗的CPU时间百分比

us+ys 参考值80% 大于80%可能内存资源不足

id 显示了CPU处在空闲状态的时间百分比。

wa :io等待所占用的CPU时间百分比,wa越高,说明等待越严重。

2、内存评估

(1) free -m

(2)sar/ pidstat    -r 内存  -u  cpu   -d 磁盘

sar -r 3  5     每三秒输出一次,输出5次

sar -u 3  获取内存3秒内的状态

kbcommit   内存使用

pidstat -r -p 1 3  获取内存3秒内的状态    -p 进程 pid

3、硬盘性能

iostat -d 3 5      tps 每秒到物理磁盘的传送数,也每秒的I/O流量

4、网络性能

mtr 动态路由跟踪

traceroute 静态路由跟踪

netstat -i 查看路由情况    -r 网络接口

debug模式      Shift+F2

案例1、/etc/passwd   root名称改成别的名称(test),权限不改。。。导致系统无法启动, 能登录,ps -ef发现所有进程都是 以test用户启动的

解决方案:单用户模式修改/etc/paawd

案例2、远程登录以后,立即退出,本地登录也是如此。密码错误有提示。ulmit  -n  设置 问题

tail -f /var/log/secure

error :PAM:pam_open_session():Permission denied.

pam_limits:  could not set limit

解决方案:ulmit  -n   6553600 基本满足一般要求

limits.conf  nofiles 设置过大,申请不到最大值回复到默认的值1024。

欢迎打算使用阿里云服务器的小伙伴,加我私聊!!QQ:3533470970  或直接领取阿里云幸运券:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=b6h928qb&utm_source=b6h928qb

转载于:https://blog.51cto.com/liqilong2010/1897683

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)相关推荐

  1. 【干货】Linux 运维故障排查思路,有这篇文章就够了

    关注我,你的眼睛会怀孕 1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问 ...

  2. linux 丢包多少正常_干货总结!Linux运维故障排查思路

    1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才 ...

  3. Linux 运维故障排查思路,有这篇文章就够了

    1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才 ...

  4. Linux运维故障排查——SSH连接Fedora不成功的原因

    首先说下连接Fedora不成功的原因 ①网络服务没有开启:此时首先 关闭 NetWorkManager服务:systemctl stop NetWorkManager 然后配置网卡vi /etc/sy ...

  5. linux学习项目,[ Linux运维学习 ] 路径及实战项目合集

    我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. ...

  6. 【运维学习笔记】运维入门

    前言: 这几天过的很像第一年来提高班装系统那会儿,接触了很多新的东西,大量的东西塞在脑子里!今天系统的整理了一下! 时间 事件 1周 看一些硬件的结构,拆 了一些东西(发现其实硬件也没有很神奇,是一些 ...

  7. linux运维工程师培训课程_《Linux运维工程师必学技能》完整版视频课程专题(1.0)...

    高性能负载均衡集群HAProxy实战视频课程 13节 4小时7分钟 课程目标: 欢迎大家加入 51CTO学院Linux交流群575837909,与喜欢学习Linux小伙伴们做朋友,一起为梦想增值.高性 ...

  8. IDC运维如何转linux运维,智简魔方DCIM系统助力IDC运维人员解决难题

    机房是企业网络的核心,需要经常维护,机房运维工程师就是这样一种职业,保障机房设备的正常运行.企业的发展离不开网络的支持,为了保障计算机相关设备的正常运转,通过对机房系统.监控设备.主机设备等进行维修和 ...

  9. 线上RPC超时故障排查及后续GC调优思路

    本文记录了一次线上RPC服务调用超时问题的排查流程,排查过程中涉及到 JVM 优化的过程与思路,包括 JVM GC 原理以及问题排查思路,分享出来希望对大家有所帮助. 本文概要 RPC服务异常和排查过 ...

最新文章

  1. php将url出现 双斜杠,php-URL重写在末尾添加斜杠会破坏我的css链接
  2. SQLCLR(五)聚合
  3. LeetCode 340. Longest Substring with At Most K Distinct Characters
  4. 云炬Android开发笔记 使用新版本Android studio快速Build低版本项目的仓库代码(标红部分)
  5. HTML 鼠标坐标和元素坐标
  6. ssb门限_画出滤波法ssb信号调制器模型,并说明低通和高通滤波器分别得到哪个边带信号...
  7. “锐捷伴你行”之“300路”喊话郭德纲:有空来蹭网呀!
  8. mysql主从搭建_手把手教你搭建MySQL主从架构
  9. PDF内嵌字体分析 - 提取的文字是乱码原因分析
  10. ref获取元素 vue 删除子元素_vue 添加删除子元素
  11. QT中双击mdiArea区域打开文件(监听双击事件)
  12. Git和Repository简明理解(GitHub是什么?)
  13. android sqlite存对象,【Android基础】Android SQLite存储自定义对象
  14. 算法模板ACW(更新中)
  15. 如何实现国外域名调转到国内已备案ip
  16. 为什么选择Tomcat及Tomcat下载
  17. 免疫佐剂CpG ODN说明——艾美捷CpG ODN 方案
  18. Android读取手机ROM总大小方法
  19. 重要一步!低温压力测试成功,SpaceX星际飞船原型将进行发动机静态点火测试...
  20. 给自己的一封信(给未来,也给现在)

热门文章

  1. 上周热点回顾(10.22-10.28)
  2. 雷电pygame代码
  3. Chrome 自动化交互利器:用 tampermonkey 向页面注入自定义 Javascript
  4. [vuex]状态管理vuex
  5. 自学Python,学不会怎么办?
  6. 前端程序员入门、进阶必备的5大网站,你知道几个?
  7. 数字化技术助石油天然气行业实现碳中和
  8. 限制对比度自适应直方图均衡化
  9. 介绍一个产品的思维导图_什么叫产品思维导图(产品思维的定义)
  10. LeetCode——978. 最长湍流子数组(Longest Turbulent Subarray)——分析及代码(Java)