Linux系统进程调度

Linux系统进程调度,第1张

主要参考 :Linux manual page - sched

自从linux内核2.6.23以来,默认的进程调度器就被设置为完全公平调度器(CFS,complete fair scheduler),取代了之前的O(1)调度器。

每个线程都有一个静态调度优先级,即 sched_priority 字段。

一个线程的调度策略决定了线程会被插入到同级静态优先级的线程队列的位置,以及它在队列中会怎样移动。

所有的调度都是可插入的,如果一个更高静态优先级的线程准备好了,现在运行中的线程就会被插入。而调度策略则仅仅影响了同样静态优先级的线程。

进程(线程)可以通过系统调用设置自身或者其他进程(线程)的调度策略。

其中 pid 为0时,设置自身的调度策略和参数。结构体 sched_attr 包含以下字段: size 、 sched_policy (即调度策略,具体会在下一节介绍)、 sched_flags 、 sched_nice 、 sched_runtime 、 sched_deadline 、 sched_period (最后三个为 SCHED_DEADLINE 相关的参数)。当设置成功,系统调用返回0;否则返回-1,并会设置 errno 。

普通进程: SCHED_OTHER / SCHED_BATCH / SCHED_IDLE

实时进程: SCHED_FIFO / SCHED_RR

特殊实时进程: SCHED_DEADLINE

静态优先级:Static_priority:对于普通进程,静态优先级为0;对于实时进程,静态优先级为1-99,99为最高优先级。

动态优先级:Dynamic_priority:仅对普通进程有用,取决于nice和一个动态调整的量(比如进程ready却没被调度,则增加)。

这里说的网络配置主要是centos环境

centOS系统,在/etc/sysconfig/network-scripts目录下找到当前机器的端口文件,文件名通常是ifcfg-网络连接名。

vim 打开编辑,添加修改分配模式,IP地址,掩码,DNS等内容,完整的示例如下:

修改完成后,执行systemctl restart network重启网卡生效。

Ubuntu20配置值静态ip,需要修改/etc/netplan下面找到一个yaml文件,文件名带network的,1-network-manager-all.yaml,这里给出一个配置示例:

(这里用ifconfig或者ip addr命令先看一下自己的网卡编号,我的编号是enpls0)

修改完成后,输入命令:sudo netplan apply使得配置生效

配置完成后ping一下其他机器或者外网网址看一下网络是否通了,配置还是没生效可以尝试重启机器(重启不影响的情况下)。

查看端口信息

netstat -tunlp |grep 端口号 查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000

nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口。

lsof -i:端口号查看端口所在进程-9

启动防火墙

systemctl start firewalld

禁用防火墙

systemctl stop firewalld

设置/禁止开机启动

systemctl enable/disable firewalld

重启防火墙

firewall-cmd --reload

查看状态

systemctl status firewalld / firewalld-cmd --state

查看版本

firewall-cmd --version

查看帮助

firewall-cmd --help

查看区域信息

firewall-cmd --get-active-zones

查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0

拒绝所有包

firewall-cmd --panic-on

取消拒绝状态

firewall-cmd --panic-off

查看是否拒绝

firewall-cmd --query-panicpor

将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)

设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)

更新防火墙规则

firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务)

查看指定区域所有打开的端口

firewall-cmd --list-port

firewall-cmd --zone=public --list-ports

在指定区域打开端口(打开后需要重启防火墙生效)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

参考网址: https://jingyan.baidu.com/article/20b68a88943059796cec622e.html

关机命令如下: 1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启 推荐使用shutdown命令


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6195701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存