标签: scheduling

如何获取我机器上所有计划的 cron 作业的列表?

我的系统管理员在我的机器上设置了一堆 cron 作业。我想知道确切的时间安排。我怎样才能得到那个清单?

linux cron scheduling

231
推荐指数
3
解决办法
56万
查看次数

cron 错误记录在哪里?

如果我cron错误地设置作业,它们似乎会默默地失败。我应该在哪里查找错误日志以了解出了什么问题?

cron scheduling logs

204
推荐指数
6
解决办法
47万
查看次数

如何在特定日期时间从终端关闭 Linux?

似乎我可以sudo shutdown通过指定时间或分钟来关闭使用。

有没有办法指定关闭的日期时间?

linux shutdown scheduling

61
推荐指数
3
解决办法
18万
查看次数

使用 systemd 每 30 分钟运行一次脚本

我想在启动到系统后每 30 分钟执行一次脚本。我知道您可以使用 cron,但我不打算经常使用此功能,因此我想在 systemd 上尝试一下。

到目前为止,我只找到了允许执行一次的单调定时器(至少我是这么认为的)。如果我想从启动/系统启动每 30 分钟执行一次,那么foo.timerfoo@user.service会是什么样子?

foo@user.service

[Unit]
Description=run foo
Wants=foo.timer

[Service]
User=%I
Type=simple
ExecStart=/bin/bash /home/user/script.sh
Run Code Online (Sandbox Code Playgroud)

foo.timer

[Unit]
Description=run foo

[Timer]
where I am stuck... ???
Run Code Online (Sandbox Code Playgroud)

linux scheduling systemd services

31
推荐指数
3
解决办法
5万
查看次数

Linux 中的实时进程调度

我一直在学习一些调度概念。目前我的理解如下。

  • 有实时进程和非实时进程。
  • 非实时进程nice的优先级值可以在-20+20的范围内。较高的正值表示该进程具有较低的优先级。
  • 实时进程将列出一个 niceness 值,-如本答案here中所述。这主要是因为实时进程比非实时进程具有更高的优先级,并且niceness 值不适用于它们。
  • 现在,我可以使用chrt来查看进程的实时属性。

对于实时过程,chrt给出的输出为,

chrt -p 5
pid 5's current scheduling policy: SCHED_FIFO
pid 5's current scheduling priority: 99
Run Code Online (Sandbox Code Playgroud)

正如我们在进程5 中看到的,优先级是 99,这是最高的。此外,调度策略是SCHED_FIFO

现在,对于非实时过程,chrt给出的输出为,

chrt -p 22383
pid 22383's current scheduling policy: SCHED_OTHER
pid 22383's current scheduling priority: 0
Run Code Online (Sandbox Code Playgroud)

正如我们所见,进程22383的优先级为 0,调度策略为SCHED_OTHER

问题

  1. 我可以将任何过程作为实时过程吗?
  2. 除了SCHED_OTHER非实时进程之外,我是否可以设置其他一些调度算法?
  3. 这里,我还看到我可以修改正在运行的进程的属性,

    chrt -p prio pid …
    Run Code Online (Sandbox Code Playgroud)

process scheduling kernel

28
推荐指数
1
解决办法
4万
查看次数

CFS 的 CPU 使用率高?

我问了之前的一个问题,试图找出将应用程序从 RHEL 5 迁移到 RHEL 6 时 CPU 使用率增加的原因。我为此所做的分析似乎表明它是由内核中的 CFS 引起的。我编写了一个测试应用程序来尝试验证是否是这种情况(原始测试应用程序已删除以适应大小限制,但在git repo 中仍然可用

我在 RHEL 5 上使用以下命令编译它:

cc test_select_work.c -O2 -DSLEEP_TYPE=0 -Wall -Wextra -lm -lpthread -o test_select_work
Run Code Online (Sandbox Code Playgroud)

然后我调整了参数,直到戴尔 Precision m6500 上每次迭代的执行时间约为 1 毫秒。

我在 RHEL 5 上得到以下结果:

./test_select_work 1000 10000 300 4
time_per_iteration: min: 911.5 us avg: 913.7 us max: 917.1 us stddev: 2.4 us
./test_select_work 1000 10000 300 8
time_per_iteration: min: 1802.6 us avg: 1803.9 us max: 1809.1 us stddev: 2.1 us
./test_select_work 1000 …
Run Code Online (Sandbox Code Playgroud)

cpu scheduling kernel linux-kernel

26
推荐指数
1
解决办法
4014
查看次数

有没有办法自动打开Linux机器?

我知道有很多方法可以自动关闭,但我担心自动开启。是否有命令或一小段软件可以在给定时间打开系统?

linux boot scheduling ubuntu

25
推荐指数
4
解决办法
3万
查看次数

在特定时间启动/停止 systemd.service

我想在特定时间启动和停止 systemd.service。据推测,我将使用 .timer 单元来启动作业,但是是否有内置的方法可以在特定持续时间后或特定时间停止作业,或者我是否必须创建第二个 .timer 单元来执行stop

谢谢

scheduling systemd

25
推荐指数
3
解决办法
2万
查看次数

为什么niceness 的范围是-20 到 19?

nice命令允许您调整程序的调度优先级(“niceness”)。在我使用过的所有类 Unix 系统上,niceness 由一系列整数指定,其中 -20 是最有利的调度优先级,0 是默认值,19 是最不利的。

将 0 作为默认的 niceness 已经足够直观了,但是为什么选择 -20 和 19 作为范围的端点呢?为什么不是 -128 和 127,它们完全适合有符号的 8 位字节?或者为什么不从 -100 到 100,这对小数点的人来说更直观,或者类似但更符合人体工程学,-99 到 99?-20 到 19 范围是任意选择的,还是nice与最初与之交互的调度程序的内部结构有某种关系?(我知道今天没有这种关系,至少对于 Linux,它的调度程序使用 0 到 139 范围内的优先级。但是,我对 -20 到 19 范围的历史原因很感兴趣。)

scheduling priority history nice

24
推荐指数
2
解决办法
2445
查看次数

工作愉快如何?

sched_setscheduler说:

所有调度都是抢占式的:如果一个具有更高静态优先级的进程准备好运行,当前运行的进程将被抢占并返回到等待列表中等待它的静态优先级。

setpriority

这会导致非常低的 nice 值 (+19) 在系统上有任何其他更高优先级负载时真正为进程提供很少的 CPU,并使高 nice 值 (-20) 将大部分 CPU 提供给需要它的应用程序

那么,更改 nice 值将如何影响程序的执行?它是否类似于 RT 调度(具有较高 nice 值的程序将中断具有较低 nice 值的程序)?


互联网上的所有信息都是如何使用nice,以及如何更改进程的优先级。没有链接解释具有不同优先级的进程究竟是如何工作的。我什至找不到源代码。

linux scheduling nice linux-kernel

23
推荐指数
1
解决办法
8674
查看次数

标签 统计

scheduling ×10

linux ×5

cron ×2

kernel ×2

linux-kernel ×2

nice ×2

systemd ×2

boot ×1

cpu ×1

history ×1

logs ×1

priority ×1

process ×1

services ×1

shutdown ×1

ubuntu ×1