Linux故障排除思路以及影响Linux性能的各种原因| 学习笔记

简介: 快速学习Linux故障排除思路以及影响Linux性能的各种原因。

开发者学堂课程【线上Linux服务器优化经验Linux故障排除思路以及影响Linux性能的各种原因】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/382/detail/4803


Linux故障排除思路以及影响Linux性能的各种原因


课程安排

系统故障排除思路

重视报错信息

永远不要忘记日志文件

分析、定位、解决问题

影响 Linux 性能的各种因素服务器硬件因素

操作系统相关因素

程序因素

Linux 性能优化工具

cpu 性能优化工具 vmstat.iostat sar

内存性能检测工具 :free、top、sar、pidstat

磁盘性能评估工具 :iostat、sar

网络性能分析工具 : ping、mtr、netstat 系统性能分析标准

几个故障处理案例和性能优化案例

su 命令切换用户导致的问题

磁盘突然变成只读怎么处理

基于动、静态网站的优化案例

Linux 故障排除思路

磁盘突然变成只读怎么处理基于动、静态网站的优化案例


一、Linux故障排除思路

1、重视报错提示信息

每个错误的出现 都是给出错误提示信息,一般情况下提示基本定位了问题的所在。因此一定要重视报错信息,如果对这些错误信息视而不见,问题永远得不到解决

要解决的重点,就是关于系统的报错信息,执行任何操作,或者命令的时候,如果出现问题的话。第一时间会在操作完成之后,给出色的提示,出错提示会出现在屏幕上,以错误为基准,然后一步一步,往下解决问题。

所以一定要重视,就是说在在执行任何操作的过程中,报的错误,经常看到的可能有一些 warning,就是警告信息。其实可以忽略另外一部分信息就是关于L的信息,一定要关注的。  

2、永远不要忘记日志文件

日志是排查问题的第一思路,一定要学会查看日志的习惯。

系统日志:dmesg、/var/log/messages、/var/log/secure

应用日志:

Apache:$APACHE_BASE/logs/errorJog $APACHE_BASE/logs/access_log Nginx:$NGINX_BASE/logs/error_log

$NGINXBASE/logs/access_log

Tomcat·$TOMCAT BASE/ogs/catalina.out

永远不要忘记日志文件,就是说在出现问题之后,如果通过报错信息,还没有办法去判断他的问题所在的话,第二个所要做的工作,就是要看相关的日志文件。

这个文件,在运营过程中,是有两种日志文件,最常见的是两种,一种就是操作系统本身的日志文件,另外一种就是跟业务相关的适用制度问题。

对这些日志文件的,查看和梳理是解决问题的非常重要的方法和思路。

最经常查看的这些日子都有哪些?

比如说。在系统方面,重点关注的一些日志文件,有三个,第一个,就是 message,这个命令,它是会实时输出一些系统级别的一些信息,这个信息可能包含一些报错信息,还有一些警告信息,当然有一些正常的信息。信息的内容,它是存在信息当中的。

第二个就是关注 crlog message ,日志文件的输出文件也是实施输出的,只不过他的输出方式,跟 DNS 也不一样。

这个 VR log message ,它是以文件的形式输出的,出了问题之后,首先要看 max 文件是否有报错。

第三个是 we are lost ,文件,它重点是判断远程 SSH 登录的状态,很多情况下,比如说服务器要遭受 SSH 暴力破解攻击的时候,它有很多日志,都会在在文件上进行输出。

可以通过文件输出,判断来源的一些 IP ,他们是不是在暴力破解。如果是的话,可以对这些来源IP进行一些评比操作,当然还有很多,最常用的,就是这三个命令的 message,还有 logmessage 。

最后一个,查看 SSH 登录日志的文件是关于系统日志,比如说常见的阿帕奇,他会有相关的日志,也就是说阿帕奇,服务如果运行不正常,或者是启动不起来的话,第一要关注的点,就是它的 log 日志,Log 的路径,一般都是在阿帕奇,比如阿帕奇是在 Apache 的安装目录下,Locks 目录下,重点看一下 error log 日志里面基本上阿瓦提的所有的信息,都会在里面进行输出。

除了文件,还可以看另外一个文件,就是 access log ,是正常的日志文件,但是有一些错误,在排查问题的时候,也可以看这个文件作为参考,同理,X,也是一样的,也是有对应的 flog。

还有 X 的,都可以去查看,第三个列举的是 tomcat ,刚开始,最常去用的就是catalina out 。这个文件其实就是记录了逃不开的运行状态。一些错误的信息,也都会在里边进行输出。

核心思想只有一个,当出现了问题之后,一定要关注日志文件,日志文件有很多,每个应用出问题,就看哪个应用的日志。

3、分析、定位问题、解决问题

综合分析过程,要以日志为导向,配合应用环境,根据报错信息、排除故障。

第一,以日志文件作为导向,然后再配合应用环境,再结合报错信息。

三个思路,最重点就是要重视日志文件的报错,一定要对这种文件有重视。在Linux 运维过程当中,可能有很大一部分解决的问题,可能是跟网络相关的问题。

4、网络排除思路

(1)网络硬件传输问题

(2)检查网卡是否能正常工作、可以从网卡是否正常加载,网卡IP设置是否正确

(3)检查DNS是否设定正确

(4)服务是否打开

(5)访问权限是否打开(iptables/selinux)

(6)局域网主机之间是否联机正常

第一部分,就是关于网络硬件传输的问题,就是要检查。比如说,网线是否正常,交换机是否正常。就是关于一些网络,硬件设施运营状态。

怎么去判断?

要结合自己的网络环境,比如最经常的方法去做拼操作,在局域网内对第一个要做的操作,就是在局域网内拼对方的IP,如果能拼通的话,那就说明局域网内网是通的,那么接着能会拼一下网关,如果网关能拼通的话,那说明就是网是正常的,或者网络环境是正常的,这是关于网络硬件要关注的。

第二块就是要检查就是网卡配置是否正常。这块就是涉及到服务器本身。

如果说,硬件网络设备都是正常的。第二个要看的是关于网卡的一些配置信息,首先要保证就是的网卡IP配置,网关配置,然后子网掩码配置是正常的。

那么第三个,就是要检查DNS是不是正常,DS,其实有两个方面的DS,比如说有时候经常遇到问题,就是某个网站发布。针对这个问题,其实第一方面网站防不了了。那么得到这个问题之后,拼一下网站的域名。

 

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

1、系统资源硬件

(1)Cpu

如何判断多核 CPU 与超线程

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

cpu 是纯硬件方面的东西,关于 cpu,其实他的影响,也是很大的,比如说 cpu 的性能如何,对 cpu 是几核几核的。

那么现在的服务器级别的 cpu ,它基本上都是以多核。这种多核的方式来区分的,最常见的是两颗四核,两颗六合,现在两颗,和两颗16核。

(2)内存

物理内存与 swap 的取舍

选择64位 Linux 操作系统

消耗内存的业务:内存数据库(redis、hbase、mongodb)

内存的话。其实就涉及到两个方面,一个就是物理内存。另外一个是 swap,swap其实也是应该叫虚拟内存,在系统里面叫虚拟内存。

第二块就是在内存方面,比如说要在操作系统上,尽量选择64位的操作系统,为什么?

因为32位的操作系统,有一套本身本身寻址范围的限制,它在内存的使用上不够充分。

比如说32位操作系统上,原则上一个进程可以用的最大内存,不会是不超过2G。

那么即使用在大内存的话,在32系统它都是得不到一个有力的一个使用的,所以选择64位的一个另一个操作系统,那么在原则上,对内存这块东西,它是使用是没有任何限制的,这是关于内存,尽量在使用的时候选择64位操作系统就不用30,那么内存信号比较大的。

(3)磁盘IO

RAID技术(RAID0\1\5\01\10)

SSD磁盘

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

第一个方面就是在磁盘初期。就是刚有磁盘技术初期,要提高磁盘L技术,其实是通过很多种方法去实验,那么第一个是通过这个瑞的技术来实现。其实就是一个逻辑,磁盘阵列,简称为这个瑞的技术。

该技术是为了更好的去利用磁盘扩大磁盘的这个性能,然后提高磁盘的这样一个扩展性和安全性而来的。那么在企业当中,我们最常用的可能有 raid1 和 raid5。
(4)网络带宽

网卡、交换机的选择

操作系统双网卡的绑定

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

连接的性能的重要方面。带宽涉及两个方面。

第一个方面,就是服务器本身的网卡的带宽,每个服务器基本上都是千兆网卡。

另外就是跟网卡相连接的,交换机的带宽或者交换机的背板带宽。这两个都要保持足够的大才能充分的保证的网络性能。

在另外的情况下,比如业务对网络带宽非常高的情况下,还可以考虑在操作系统基础之上,考虑双卡绑定,因为现在服务器有很多网卡,至少有四网卡。可以考虑两张卡,做一个双卡荣誉绑定。

绑定的策略,其实有很多种,最常见的就是主备策略。其实就是是同时工作,单独的大量之后,再启用。

还有一种是附带策略,就是两块网卡。

比如每块都是千兆的网卡,两块,就是2000兆的,也就是2G的带宽,就是做这么负债绑定。具体做哪种方式的绑定,还要跟业务相关联起来。

业务系统,只有两个方面,一块就是大数据分析,就是 hadoop 平台。另外,就是有在线视频业务。对服务器网络带宽要求是非常非常高的。

最常见的就是比如额度,数据分析平台,因为有非常非常多的数据,要在几点之间做传输。如果把带宽,提高之后,他能最大程度的就是提高的数据传输性能,进而,就会提高数据分析性。影响 Linux 性能的,关于硬件方面的四个因素,那其实就是 cpu ,内存磁盘 io ,还有网络带宽,这四个方面。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
9天前
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
46 1
|
28天前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
|
28天前
|
缓存 监控 IDE
linux如何查看io性能
linux如何查看io性能
|
2月前
|
运维 监控 Linux
深入了解 Linux 常用性能统计命令
深入了解 Linux 常用性能统计命令
20 2
|
3月前
|
存储 Linux 测试技术
性能工具之15个常用的Linux文件系统命令
【2月更文挑战第8天】性能工具之15个常用的Linux文件系统命令
111 1
|
2月前
|
存储 监控 Linux
性能工具之linux三剑客awk、grep、sed详解
Linux 三剑客 awk,sed和grep 在性能领域广泛用于性能建模、性能监控及性能分析等方面,也是各大互联网公司测试岗高频面试题,中高端测试人员必备技能之一。
57 1
性能工具之linux三剑客awk、grep、sed详解
|
2天前
|
存储 负载均衡 网络协议
在Linux中优化系统性能的实用指南
【4月更文挑战第30天】本文是关于Linux系统性能优化的指南,涵盖硬件选择、系统及软件更新、调整Swap分区、内核参数优化、使用性能分析工具、文件系统优化、网络服务优化和定期维护等方面。通过这些方法,可提升系统响应速度,降低资源消耗,延长硬件寿命。注意,优化需根据具体系统和应用需求进行。
|
4天前
|
Linux 数据安全/隐私保护
影响Linux性能的各种因素
【4月更文挑战第20天】介绍了影响Linux系统性能的硬件资源,包括CPU、内存、磁盘I/O性能和网络宽带。
13 3
|
1月前
|
监控 Linux
掌握Linux top命令:优化系统性能的关键
总之,掌握Linux top命令对于优化系统性能至关重要。通过实时监控系统资源、查看进程列表、了解CPU和内存使用情况,你可以有效地调整系统配置,提高系统的响应速度和稳定性。
9 0
|
2月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 实时监控系统性能 top命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 实时监控系统性能 top命令 使用指南
40 2