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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习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日志并进行多维度分析。
相关文章
|
1月前
|
缓存 算法 Linux
深入理解Linux内核调度器:公平性与性能的平衡####
真知灼见 本文将带你深入了解Linux操作系统的核心组件之一——完全公平调度器(CFS),通过剖析其设计原理、工作机制以及在实际系统中的应用效果,揭示它是如何在众多进程间实现资源分配的公平性与高效性的。不同于传统的摘要概述,本文旨在通过直观且富有洞察力的视角,让读者仿佛亲身体验到CFS在复杂系统环境中游刃有余地进行任务调度的过程。 ####
54 6
|
15天前
|
运维 监控 Linux
BPF及Linux性能调试探索初探
BPF技术从最初的网络数据包过滤发展为强大的系统性能优化工具,无需修改内核代码即可实现实时监控、动态调整和精确分析。本文深入探讨BPF在Linux性能调试中的应用,介绍bpftune和BPF-tools等工具,并通过具体案例展示其优化效果。
40 14
|
22天前
|
人工智能 安全 Linux
|
21天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
1月前
|
人工智能 安全 Linux
|
2月前
|
存储 缓存 监控
Linux中内存和性能问题
【10月更文挑战第5天】
43 4
|
2月前
|
存储 监控 固态存储
Linux中提高性能
【10月更文挑战第6天】
39 2
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
48 3