Linux进程管理:SCHED_FIFO与SCHED_OTHER调度机制

Linux调度器只有两个东西,FIFO和其他。
FIFO就是实时优先级调度,FIFO就是实时优先级调度。

先进先出的意思是优先级最高的人来工作,先进先出,没有时间限制。
另一种优先级固定为0,根据好值和等待时间动态调整,有时间片轮换。

FIFO 可以抢占 OTHER,但 OTHER 被 FIFO 阻塞。
但主线程还是可以轮到的,系统不会让主线程饿死。

上周我刚刚参与了一个项目,使用 FIFO 来处理传感器数据,并使用另一个项目来处理常规工作。
我发现当 FIFO 打开时,CPU 非常繁忙。

您可以尝试 ps -eo pid、comm、ni、psr、sched、etime。
FIFO的ni值肯定低,psr是CPU基数,sched是FIFO。

实验数据我记不太清了,不过很可能是这样的。
你自己看看吧。

【删库不跑路】—Linux系统自杀实验 rm -rf /* 及如何抢救和预防

(不转义删除数据库)——Linux系统自杀企图rm-rf/以及如何挽救和预防
2 02 2 年,我在上海的一家公司工作。
当时我正在测试Linux服务器。
我手动输入了错误的命令,输入了rm -rf/。
我当时也很震惊。
屏幕开始快速滚动以删除信息,我的心提到了嗓子眼。
这个命令很糟糕,它会删除根目录中的所有内容。
1 、执行结果
执行rm-rf/后,系统开始删除根目录下的所有内容。
一些正在运行的硬件文件(如/dev)和系统文件(如/boot)因为被使用而无法删除,系统会报出诸如rm:无法删除之类的错误....但即便如此,最重要的目录(如/home、/var)和文件仍然会被删除。

残留目录:通常/dev、/proc、/sys等目录被部分占用,因为这些目录下的文件正在被系统使用或者被系统保护。

系统崩溃:删除完成后,系统基本彻底崩溃。
大多数命令(如ls、cd)无法使用,因为存储这些命令的/bin目录已被删除。
仅处理某些命令(例如 cat),因为它们位于 /usr/bin 目录中。
2 .救援方法
中止命令:当意识到命令正在运行时,立即按Ctrl+C中止命令,并尽可能保存系统文件。

不要退出当前shell并重新启动:在不知道哪些文件已被删除的情况下不要重新启动系统,否则您可能无法再次登录系统。

系统文件夹迁移:如果删除了/bin、/sbin等存储命令文件夹,您可以通过从其他服务器上将其压缩并复制到当前服务器来解压并替换这些目录。
3 、注意事项
谨慎使用rm命令:在输入delete命令时要小心,以免出错。

系统快照:定期拍摄系统快照,例如每天下午2 点拍摄系统快照,或者在重大系统更新或服务设置后拍摄系统快照。
这样,您可以在出错后返回到备份状态。

命令重写:重写rm命令,使回收站方法不会误删除文件。
你可以。
例如,您可以编写一个脚本,将已删除的文件移至指定的回收站目录,而不是直接删除它们。

总之,rm-rf/是一个极其危险的命令,应谨慎使用。
一旦发生不当行为,有必要采取紧急措施,防止此类事故再次发生,并加强预防措施。