《Linux Shell脚本攻略》学习笔记-第十二章

news/2024/10/30 17:22:29/

12.1 简介

我们可以通过关闭无用的服务、调整内核参数或是添加新的硬件来改善系统性能。

12.2 识别服务

Linux系统可以同时运行数百个任务,其中可能也会有那么一两个你不需要的守护进程。

有三种可以用于启动守护进程和服务的工具,Linux发行版支持其中任意一种。传统的SysV系统使用/etc/init.d中的脚本。较新的systemd守护进程除了使用/etc/init.d之外,还用到了systemctl调用。还有些发行版使用的是upstart,配置脚本保存在/etc/init中。

在上面的例子中,系统显然使用的是systemd;但是在有些发行版中ps命令输出的总是/sbin/init

ps和grep命令可以给出更多地线索:

如果命令返回upstart或者systemd,则表明系统运行的是upstart或者systemd。如果找不到匹配的内容,说明系统可能运行的是sysvmit。

可以使用grep命令筛选输出,只显示处于运行状态的服务

禁用无用服务的方法不止一种,这取决于你使用的系统是基于Debain还是Redhat,运行的是SysVinit、systemd还是upstart。不管使用哪种方法,必须要有root权限。

12.3 使用ss收集套接字数据

每一次HTTP访问、每一个SSH会话都会打开一个tcp套接字连接。选项-t可以输出TCP连接的状态:

ss的选项-l可以列出处于listen模式的套接字;选项-u指定只输出UDP套接字;选项-t指定只输出TCP套接字

12.4 使用dstat收集系统I/O使用情况

如果不适用任何选项,dstat会每隔疫苗显示出CPU占用、磁盘I/O、网络I/O、分页、中断以及上下文切换信息

--top-bio:显示出执行块IO最多的进程

--top-cpu:显示出CPU占用率最高的进程

--top-bio:显示出执行IO操作最多的进程,通常是网络IO

--top-latency:显示出延迟最高的进程

--top-mem:显示出占用内存最多的进程

12.5 使用pidstat找出资源占用大户

-r:输出缺页故障和内存使用情况

-u:输出CPU使用情况

-w:输出切换任务情况

12.6 使用sysctl调优Linux内核

Linux内核中包含了大约1000个可调节的参数。

12.8 使用nice命令更改调度器优先级

Linux中的每个任务都有优先级。这个优先级的范围从-20到19,优先级越低,分配给任务的CPU时间就越多。默认的优先级是0.

nice命令可以修改任务的优先级,它能以指定的优先级启动任务。降低任务的优先级会释放出资源给其他任务。

  • 网络调优
  • sysctl支持的选项
  • -d:输出IO统计
  • pidstat能够输出每个进程的统计信息
  • 安装
  • dstat可以按照类别找出占用资源最多的进程
  • dstat能够以固定的时间间隔显示出磁盘、网络、内存使用以及所运行任务的相关信息。
  • 跟踪侦听端口的应用程序
  • 显示tcp套接字状态
  • 基于Debain的系统
  • 基于Redhat的系统
  • 基于systemd的系统
  • 你应该把不必要的服务都禁止掉,这样可以降低系统负载,提高安全性。
  •  选项--status-all可以输出/etc/init.d中所定义的全部服务的当前状态
  • 确定系统使用的是SysVinit、systemd还是upstart

http://www.ppmy.cn/news/12753.html

相关文章

亚马逊云科技 Build On - 毫厘控制传统行业快速搭建部署智能业务这件事“钱花在刀刃上”——迎云计算更高一层精专形态的下一个时代Serverless

/*本文章总计6052词,可能需要16分钟进行阅读,创作时间近1周,尽量将Serverless干货打包满满,并尝试向您解释清楚。 无论是路过还是看得乐呵的看官姥爷只求能给个👍点赞和⭐收藏,谢谢您嘞❤ P.S.CSDN侧边可以…

Rancher 2022 关键主题与新年展望

作者简介 张智博,SUSE Rancher 大中华区研发总监,一直活跃在研发一线,经历了 OpenStack 到 Kubernetes 的技术变革,在底层操作系统 Linux、虚拟化 KVM 和 Docker 容器技术领域都有丰富的研发和实践经验。 以 Rancher 为核心的 SUS…

c++11 标准模板(STL)(std::forward_list)(十)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

机器学习的相关概念与建模流程

文章目录一、机器学习简介1. 机器学习的相关定义2. 一次简单的机器学习任务&#xff1a;鸢尾花分类二、数据与数据集相关概念1. 数据与数据集2. 特征与标签3. 连续变量和离散变量4. 模型类型三、机器学习建模一般流程1. 提出基本模型2. 确定损失函数3. 根据损失函数性质&#x…

来看看我在CSDN上的好朋友们吧,看看有没有你

首先&#xff0c;感谢支持我的所有人&#xff0c;其次&#xff0c;感谢支持我的所有人&#xff0c;然后感谢支持我的所有人&#xff0c;最后&#xff0c;感谢支持我的所有人&#xff08;我这是废话吗&#xff1f;&#xff1f;&#xff1f;不是吧&#xff09; 今天就来看看我在…

Linux——系统管理篇

1、、Linux 中的进程和服务 计算机中、一个正在执行的程序或命令&#xff0c;叫进程&#xff08;process&#xff09;。 启动之后一直存在、常驻内存的进程&#xff0c;一般称为“服务”&#xff08;Service&#xff09; // 我更喜欢叫它守护进程 Daemon 比如windows的那一堆…

区块链技术5--BTC网络

1BTC网络的工作过程&#xff1a;用户将交易发布到BTC网络上&#xff0c;节点收到交易后打包到区块&#xff0c;然后将区块发布到BTC网络上。2BTC网络的工作原理&#xff1a;比特币工作于网络应用层&#xff0c;其底层&#xff08;网络层&#xff09;是一个P2P Overlay network&…

关于MySQL中的存储引擎

存储引擎&#xff1a;&#xff08;了解内容&#xff09; 1、什么是存储引擎&#xff0c;有什么用&#xff1f; 存储引擎是mysql中特有的一个术语&#xff0c;其他数据库中没有。 存储引擎就是一个表存储/组织数据的方式。不同的存储引擎&#xff0c;表存储数据的方式不同。 目前…