Linux

shell 命令 – 获取用户输入

获取用户输入

基本的读取:
输入的每个数据值都会分配给变量列表中的下一个变量。如果变量数量不够,剩下的数据就全部分配给最后 一个变量。
read var1 var2 …:将读取的数据放入变量var中
read –p “提示信息” var1 var2 …:将按照提示输入的数据放入变量var中
若在read命令行中不指定变量,read命令会将它收到的任何数据都放进特殊环境变量REPLY中。…

    

EXT4 文件系统在 Linux 6.3 中获得写入性能改进补丁

EXT4 (第四代扩展文件系统)是 Linux 系统下的日志文件系统,目前该系统已趋于稳定,但在 Linux 6.3 合并窗口中再获得了一些直接 I/O 性能改进补丁,改进了写入速度。

补丁来源于华为的工程师 Zhang Yi ,他在最新补丁中调整了 Linux 6.3 的 EXT4 系统,允许多个进程通过共享 inode 锁对预分配块执行直接 I/O 写入,而不需要独占锁。当多个进程不再独占 inode 锁,而是使用共享 inode 锁时,预分配的块会被覆盖,会对写入性能有显著的性能影响。

Zhang Yi 在一块带 NVMe SSD 存储的 Intel Xeon Gold 服务器上使用 FIO 运行了一些多线程写入测试,测试结果显示,此更改对于 …

    

linux系统下的微信安装(ubuntu20.04)

前言

今天突然了解到去年年底的一则消息:银河麒麟桌面操作系统V10,原生微信2.1.1版本终于推出。
于是我去搜了一下”银河麒麟“,发现好像跟ubuntu的官方中文版——优麒麟有点关系。我看优麒麟官网介绍,发现它的应用商店可以安装很多国产软件(比如搜狗拼音、迅雷、网易云、qq音乐等),而且也是可以安装这个原生微信的。鼓捣了一下,在原生ubuntu20.04上成功安装了原生微信。记录一下我的安装步骤。


安装步骤

从优麒麟的镜像源安装原生微信

新建文件sudo vi /etc/apt/sources.list.d/software.list

添加如下内容:

 deb http://archive.ubuntukylin.com/ubuntukylin focal-partner main

提示:网上查阅资料说理论上Ubuntu 20.10也可以,需要将上述文字中的“focal”改成“groovy”。但是Ubuntu 18.04不行

添加apt key。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 56583E647FFA7DE7

更新列表。

sudo apt update

安装微信

sudo apt install weixin

安装完成
在这里插入图片描述

Linux 性能优化

性能优化

性能指标

高并发和响应快对应着性能优化的两个核心指标:吞吐延时

图片

  • 应用负载角度:直接影响了产品终端的用户体验
  • 系统资源角度:资源使用率、饱和度等

性能问题的本质就是系统资源已经到达瓶颈,但请求的处理还不够快,无法支撑更多的请求。 性能分析实际上就是找出应用或系统的瓶颈,设法去避免或缓解它们。

  • 选择指标评估应用程序和系统性能
  • 为应用程序和系统设置性能目标
  • 进行性能基准测试
  • 性能分析定位瓶颈
  • 性能监控和告警

对于不同的性能问题要选取不同的性能分析工具。 下面是常用的Linux Performance Tools以及对应分析的性能问题类型。

图片

到底应该怎么理解“平均负载”

平均负载:单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数。它和我们传统意义上理解的CPU使用率并没有直接关系。

其中不可中断进程是正处于内核态关键流程中的进程(如常见的等待设备的I/O响应)。不可中断状态实际上是系统对进程和硬件设备的一种保护机制。

平均负载多少时合理

实际生产环境中将系统的平均负载监控起来,根据历史数据判断负载的变化趋势。当负载存在明显升高趋势时,及时进行分析和调查。 当然也可以当设置阈值(如当平均负载高于CPU数量的70%时)

现实工作中我们会经常混淆平均负载和CPU使用率的概念,其实两者并不完全对等:

  • CPU密集型进程,大量CPU使用会导致平均负载升高,此时两者一致
  • I/O密集型进程,等待I/O也会导致平均负载升高,此时CPU使用率并不一定高
  • 大量等待CPU的进程调度会导致平均负载升高,此时CPU使用率也会比较高

平均负载高时可能是CPU密集型进程导致,也可能是I/O繁忙导致。具体分析时可以结合mpstat/pidstat工具辅助分析负载来源

CPU

CPU上下文切换(上)

CPU上下文切换,就是把前一个任务的CPU上下文(CPU寄存器和PC)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的位置,运行新任务。其中,保存下来的上下文会存储在系统内核中,待任务重新调度执行时再加载,保证原来的任务状态不受影响。

按照任务类型,CPU上下文切换分为:

        

基于 NT 架构全新升级,Linux QQ 今日开启公测

时隔 3 年,Linux QQ 基于 NT 架构迎来全新升级。今日(12 月 7 日)起,全新 Linux QQ 正式开启公测

QQ

下载链接:deb | rpm | AppImage

需要注意的是,全新 Linux QQ 暂时只支持 x64 架构,arm64 架构还在加急适配中

IT之家了解到,本次更新也意味着,QQ 再次覆盖了 Windows、macOS、Android、iOS、Linux 等多种主流平台。根据此前信息,全新 Linux QQ…

linux性能调优干货,【干货分享】详解Linux性能调优之tuned特性

uned简介

对普通用户而言,Linux应用环境优化是比较困难的。领域多,范围广:CPU、存储、缓存策略、内存管理等涉及的参数。Linux内部虽然有默认设置值,可以应对大多数的情况场景,但是针对一些特殊场景,例如高性能、高并发和高可用的系统,就需要我们进行调整。本文介绍的tuned特性就是目前Linux系统上常用的一种调优特性。…