引言 通过此前的两篇文章,我们系统介绍了 linux 操作系统中的调度算法与其演进: linux 操作系统的进程调度(上) -- 进程调度的基本概念 linux 操作系统的进程调度(中) -- 进程调度算法的演进...本文,我们就来介绍 Linux 操作系统实际使用的进程调度器以及它们的演进。...O(n) 调度器 在早期的 linux 操作系统中,2.4 版本到 2.6 版本之间,linux 采用了实现起来十分简单的 O(n) 调度器。...O(1) 调度器 在 linux 内核采用 O(n) 调度器的 4 年后,Linux2.6.0 采纳了 Rad Hat 公司设计的 O(1) 调度算法,这是一个基于上一篇文章中介绍的多级反馈队列算法的调度器实现...O(logN) 量级的,而红黑树则在最坏情况下只需要进行三次旋转,而增加节点时,红黑树则只需要至多进行两次旋转。
前言: 在Linux操作系统中,进程的调度与切换是操作系统核心功能之一,它直接影响着系统的性能和响应速度。那么话不多说,开启我们今天的话题!...我们可以看一下内核中的一些寄存器: 注意: CPU中的寄存器只有一套,而寄存器保存的数据可以有多套。虽然寄存器数据放在了共享的CPU设备内,但是 所有的数据都是被进程私有的!...进程调度 ✈️活动状态进程队列 我们上次说过,Linux实现进程调度的算法,需要考虑 优先级,考虑进程饥饿,以及效率。那么CPU是如何实现进程调度的呢? ...我们来看一下Linux下CPU的运行队列的各项属性: 我们首先看蓝色框内的内容,有一个叫做 queue[140] 的数组,这里的 queue数组表示活动状态进程的进程队列。 ...而蓝色框内还有一个元素:nr_active,在Linux中,nr_active 是运行队列中用于表示活跃进程数量的计数器。
查看tomcat进程pid ps -ef|grep tomcat 统计该tomcat进程内的线程个数 ps -Lf 29295|wc -l 检查本机各端口的连接情况(tcp,udp等) netstat...+=$NF;b++}END{print a,a/b}' access_log.2021-12-28.log awk '{max=$NF;b++}END{print}' 打印大于1000ms的记录
在linux下搭建git环境 1、创建Github账号,https://github.com 2、Linux创建SSH密钥: ?...Git 常用命令(Git分布式版本控制系统) Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。...Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 ?...8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。...任意两个开发者之间可以很容易的解决冲突。 离线工作。 缺点: 资料少(起码中文资料很少)。 学习周期相对而言比较长。 不符合常规思维。
大家好,又见面了,我是你们的朋友全栈君。 1....Linux zip命令 压缩 zip -r filename.zip ./* // 将当前目录下的所有文件和文件夹全部压缩成 filename.zip文件 -r表示递归压缩子目录下所有文件...Linux tar命令 -c: 建立压缩档案 -x: 解压 -t: 查看内容 -j: 通过bzip2的支持进行压缩/解压,此时文件最好为*.tar.bz2 -z: 通过gzip的支持进行压缩/解压,此时文件最好为...Linux rar命令 要在Linux下处理.rar文件,需要安装RAR for Linux yum install rar 压缩 rar a filename * //将所有的文件压缩成一个rar...包,名为filename.rar 解压 unrar e filename.rar test // 将filename.rar中的所有文件解压到.
一、安装At 取决于不同的发行版,at在你的 Linux 系统中可能有,也可能没有。 如果at没有被安装,你可以很容易地使用你发行版的软件包来安装它。...例如,想要创建一个任务,运行脚本: /home/linuxize/script.sh: at 09:00 -f /home/linuxize/script.sh 默认情况下,这个命令会产生输出,一旦任务完成...at 09:00 -m 三、batch命令 batch或者它的关联at -b预定任务并且在系统负载允许的情况下,批量执行任务。默认情况下,当系统平均负载在1.5以下的时候,任务将会被执行。...下面是一个例子: at -t 202005111321.32 五、指定队列 默认情况下,由at创建的任务被计划在命名为a的队列,并且由batch创建的任务被计划在b队列。...默认情况下,仅仅/etc/at.deny文件存在,并且是空的,这意味着所有用户可以使用at命令。如果你想禁止某一个用户的权限,将他的用户名添加到这个文件中。
在这篇文章中,我们将会谈论w命令。 w是一个命令行工具,它可以展示当前登录用户信息,并且每个用户正在做什么。它同时展示以下信息:系统已经运行多长时间,当前时间,和系统负载。...如何使用 w 命令 w [OPTIONS] [USER] 当无参数、无选项调用w命令时,输出如下: 21:41:07 up 12 days, 10:08, 2 users, load average...uptime命令运行结果一样。...当前进程名称显示在 WHAT WHAT - 用户当前进程和选项、参数 这个命令然后列出所有登录用户,以及他们的相关信息。 如果把一个或者多个用户名作为参数传递给w,输出将会仅仅提供这些用户的信息。...默认这一列是否展示出来,都依赖于你所使用的 Linux 发行版。
在这篇文章中,我们将会覆盖whoami命令。 就像名字显示的那样,whoami命令打印出当前用户的用户名。换句话说,它显示当前登录用户的名字。...如何使用 whoami 命令 whoami 的命令语法如下: whoami [OPTION] 为了显示当前系统登录用户的用户名,不带任何选项引入这个命令。...whoami 类似的输出结果将在屏幕上展示,显示当前输入命令的用户的用户名: linuxize whoami可以用在 shell 脚本中,用来检测运行脚本的用户的用户名。...whoami [OPTION] 使用id命令可以获得更多关于用户的信息。 环境变量$USER包含了当前登录用户的用户名: echo $USER 总结 whoami命令代表“Who am I?” 。...运行该命令会打印出当前用户的用户名。
在 Linux,有几个工具可以用来创建分区,fdisk是最常用的一个。 在本文中,我们将会讨论fdisk命令。 fdisk是一个菜单驱动的命令行工具,它允许你在硬盘上创建并且维护分区表。...一、列出分区 想要列出一个设备中的分区表,运行fdisk命令,加上-l选项,再加上设备名称。...在这个例子中,我们将会使用/dev/sdb: fdisk /dev/sdb 命令提示符将会改变,开启fdisk对话模式: Welcome to fdisk (util-linux 2.34)....默认情况下,新分区类型被设置为“Linux filesystem”,它能满足大部分场景。如果你想修改类型,输入l获取分区类型,并且输入t来修改类型。...想要获得更多关于fdisk命令的信息,在终端中输入man fdisk。
本文讲述 Linux 命令 pkill 的基础用法。 pkill是一个命令行工具,它根据现有标准,给正在运行的程序进程发送信号。进程可以通过他们的完整名字,部分名字,用户进程或者其他属性指定。...这个pkill命令是procps(或者procps-ng)软件包中的一部分。该软件包被预装在几乎所有的 Linux 发行版上。 pkill是一个基于打印匹配进程列表的pgrep程序的封装。...使用kill -l命令列出所有可用的信号。...^ssh$' 符号^代表字符串开头,字符串$代表字符串结尾 默认情况下,pkill仅仅匹配进程名称。...例如,想要杀死最近启动的 screen: pkill -9 -n screen 二、总结 pkill命令被用来发送信号给正在运行的程序 原文 :https://linuxize.com/post/pkill-command-in-linux
如果你需要花很多时间在命令行上,查看之前运行过的历史命令会是一个有用的特性。它能够让你日复一日的工作变得更容易,更高效。 在这篇文章中,我们将会谈论history命令。...n命令时,意思是执行历史命令列表中第 n 行的命令。并且!-n命令是执行倒数第几行的意思。在下面的例子中,我们执行467行的命令: !467 另一个执行命令的方式是使用!word表达式。...可以执行前一个命令: !! 当你忘记了之前使用sudo执行的命令时,这个特别有用。你不需要重新输入之前的命令: sudo !! -1和!!一样,都是执行历史列表中的最后一个命令。!...保留历史列表 默认情况下,当启动一个新会话时,Bash 会从.bash_history文件中读取历史命令列表。当前会话中执行的命令列表会被保存在内存中,并且当会话关闭时,保存到文件。...当你要修改历史行为,在~/.bashrc或者其他任何用户登录需要加载的配置文件中. 默认情况下,Bash 只保留 500 行历史命令列表。这个HISTSIZE变量允许你修改这个值。
./* -r表示递归 zip [参数] [打包后的文件名] [打包的目录路径] 解压 unzip xahot.zip 不解释 linux zip命令的基本用法是: linux zip命令参数列表:...-q 安静模式,在压缩的时候不显示指令的执行过程 -r 将指定的目录下的所有子目录以及文件一起处理 -S 包含系统文件和隐含文件(S是大写) -t 日期 把压缩文件的最后修改日期设为指定的日期.../xahot 上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录 比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果. zip –q –r xahot.zip xahot...比如现在我的xahot目录下,我操作的zip压缩命令是 zip –q –r xahot.zip * 以上是在安静模式下进行的,而且包含系统文件和隐含文件 //////////////////////...xahot.zip解压到当前目录 unzip xahot.zip 如果出现这个提示: -bash: zip: command not found 不能执行ZIP压缩,是因为没有安装ZIP, 运行下这条安装命令即可
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。 语法 man(选项)(参数) 选项可有可无,但参数必须有。...选项 -a:在所有的man帮助手册中搜索; -f:等价于whatis指令,显示给定关键字的简短描述信息; -P:指定内容时使用分页程序; -M:指定man手册搜索的路径。...参数 数字:指定从哪本man手册中搜索帮助; 关键字:指定要搜索帮助的关键字。...也可以这样输入命令:“man [章节号] 手册名称”。...man是按照手册的章节号的顺序进行搜索的,比如: man sleep 只会显示sleep命令的手册,如果想查看库函数sleep,就要输入:(如下所示) man 3 sleep ?
fsck(file system check)是一个命令行工具,它允许你在一个或者多个 Linux 文件系统进行连续监测和交互式修复操作。...在系统无法启动,或者分区无法被挂载的情况下,你可以使用fsck命令去修复损坏的文件系统。 在这篇文章中,我们将会讨论fsck命令....fsck命令式一些列 linux 文件系统检测的封装,根据文件系统类型不同,它可以接受不同的选项。 对于指定的检测,请检查手册,获取更多信息。...在启动时检测文件系统 在大部分 Linux 版本系统中,fsck在以下情况下会在系统启动时自动检测文件系统: 1. 文件系统被标记为"dirty” 2.系统启动了一定的次数 3....总结 fsck是一个用来检测,并修复 Linux 文件系统的命令行具。 想要了解更多关于fsck命令的信息,请参考fsck 手册,或者在终端输入man fsck查看 fsck 手册。
stat是一个命令,它用来显示文件或者文件系统的详细信息。 本文详细讲解如何使用stat命令. 使用 stat 命令 stat命令的语法如下: stat [OPTION]......FILE... stat接受一个或者多个输入的FILE,和一系列的选项,用来控制命令的行为和输出结果。...安全内容 Access - 文件最后被访问的时间 Modify - 文件内容最后被修改的时间 Change - 文件属性或者内容最后被修改的时间 Birth - 文件创建时间(Linux 下不支持)...用户的可用剩余块数 Inodes: Total - 文件系统上的总节点数 Free - 文件系统上的剩余节点数 间接(跟进)软连接 默认情况下,stat 不会跟进软连接。...总结 stat命令打印了文件和文件系统的信息。 在 Linux 下,还有其他几个命令可以显示文件信息。ls就是最有用的一个,但是它只显示stat信息中的一部分。
本文最先发布在: https://www.itcoder.tech/posts/modprobe-command-in-linux/ Linux kernel 是 Linux 操作系统的核心部分。...它管理着系统资源,并且它是你的计算机软硬件之间的桥梁。 Linux kernel 有一个模块化设计。一个 kernel 模块,通常被称为 驱动程序,是用来扩展内核功能的一段代码。...在这篇文章中,我们将会讲解如何使用modprobe来从 Linux 内核中 添加或者移除模块。modprobe是kmod的一部分,它是用来管理 Linux 内核模块的多个程序的封装二进制包。...想要加载模块,运行modprobe命令加上模块名: modprobe module_name modprobe命令将会加载给出的模块,以及任何依赖的模块。在命令行中一次只能指定一个模块。...三、总结 modprobe命令可以允许你添加或者移除 Linux 内核模块。
一、简介 free命令是最经常使用的命令之一,用于查看内存使用情况。 free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。...二、free命令说明 2.1 命令行说明 命令格式 free [参数] 常用方法 free -m 这里的m 表示 以 MB 为单位查看内存情况,你可以可以用 -g 以 GB 为单位 2.2...Swap 行(第三行)是交换空间的使用情况。 total 列显示系统总的可用物理内存和交换空间大小。 used 列显示已经被使用的物理内存和交换空间。...shared 列显示被共享使用的物理内存大小。 buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。 available 列显示还可以被应用程序使用的物理内存大小。...请注意,这只是一个很理想的计算方式,实际中的数据往往有较大的误差 周期性查看怎么办? 使用 free -s 10 ,这里的 10 代表间隔10秒查看 ``
本文讲述 Linux pgrep命令的基础知识。 pgrep是一个命令行工具,它允许你基于给定条件来查找正在运行的程序的进程 ID。它可以是进程名字的全称或者一部分,进程运行者,或者其他属性。...这个pgrep命令是procps(或者procps-ng)软件包的一部分,它基本上在所有的 Linux 发行版上都预装了。...一、如何使用pgrep命令 pgrep的命令语法如下: pgrep [OPTIONS] 匹配可以指定为正则表达式。...2257 ssh-agent 6850 ssh 31279 ssh-agent 如果你想严格按照搜索样式准确匹配进程,你需要使用: pgrep '^ssh$' -l 输出: 6850 ssh 默认情况下,...想要获得更多关于pgrep命令的信息,浏览pgrep 手册或者在你的终端输入man pgrep。
作为一个 Linux 系统管理员,有时候你需要修改默认的内核行为。例如,你可能想要启用 SysRq 或者增加 Kernel 能够接受的连接数量。...内核参数可以在构建内核的时候,在系统启动时,或者在运行时进行设置。 本文讲解如何使用sysctl命令在运行时进行查看并且修改内核参数。...一、使用sysctl查看 Kernel 参数 想要查看所有的当前内核参数,运行 sysctl 命令加上-a选项: sysctl -a 这将会输出一个很大的列表,看起来像下面这样,每行包含一个参数和对应的值...> /etc/sysctl.conf 另外修改参数的方式就是使用echo命令将设置写入到/proc/sys目录下的文件中。...总结 sysctl 命令允许你查看并且修改 Linux 内核参数。
last是一个命令行工具,它用来展示关于系统用户最后登录会话的信息。这个命令非常有用,尤其是当你需要追踪用户活动,或者调查一个可能的安全入侵问题。 本文解释如何使用last命令来审计谁登录了系统。...一、如何使用 last 命令 last命令的语法如下: last [OPTIONS] [USER] [...] 每次一个用户登录系统,一个会话记录将会被写入/var/log/wtmp文件。...(time is set to 00:00:00) tomorrow (time is set to 00:00:00) +5min -5days 默认情况下,...last命令打印关于用户登录和登出的时间信息。...想要获得更多关于这个命令的信息,在终端输入man last。
领取专属 10元无门槛券
手把手带您无忧上云