标签: scheduler

是否保证在每次切换进程时调用kernel/sched.c/context_switch()?

我想改变Linux内核,以便每当当前PID改变时 - 即,切换新进程 - 执行一些诊断代码(下面的详细解释,如果好奇的话).我做了一些挖掘工作,似乎每次调度程序选择一个新进程时,context_switch()都会调用该函数,这是有道理的(这只是粗略的分析sched.c/schedule()).

问题是,Linux调度程序现在对我来说基本上是黑魔法,所以我想知道这个假设是否正确.是否保证每次选择新进程以在CPU上获得一些时间时,都会调用context_switch()函数?或者内核源中是否有其他位置可以在其他情况下处理调度?(或者我完全误解了这一切?)

为了给出一些背景信息,我正在使用MARSS x86模拟器来尝试对某些程序进行一些检测和测量.问题是我的仪器需要知道某些代码事件对应于哪个执行过程,以避免误解数据.我们的想法是在MARSS中使用一些内置的消息传递系统在每个上下文切换时传递新进程的PID,因此它总是知道当前正在执行什么PID.如果有人能想到一种更简单的方法来实现这一点,那也将非常感激.

c linux process scheduler context-switch

9
推荐指数
1
解决办法
601
查看次数

Quartz.NET设置MisfireInstruction

我正在使用Quartz.NET在C#中工作,并且在CronTrigger上设置misfire指令时遇到问题.我正在运行安装了Quartz DB的SQL后端.我有以下代码适用于创建作业和运行调度程序.

IScheduler _scheduler;
IJobDetail job;
ISchedulerFactory sFactory;
ICronTrigger trig;

sFactory = new StdSchedulerFactory();

_scheduler = sFactory.GetScheduler();
_scheduler.Start();

job = JobBuilder.Create<Test>().WithIdentity("testJob", "testGroup").Build();
trig = (ICronTrigger) TriggerBuilder.Create().WithIdentity("testTrigger", "testGroup").WithCronSchedule("0/10 * * * * ?").Build(); int i = trig.MisfireInstruction;

_scheduler.ScheduleJob(job, trig);
Run Code Online (Sandbox Code Playgroud)

我可以访问的唯一错误指令trig.MisfireInstruction是int,我无法设置它.还有一些函数从WithMisfireHandlingInstructionCronScheduleBuilder 开始.

c# sql scheduler quartz.net quartz.net-2.0

9
推荐指数
1
解决办法
6072
查看次数

如何在Linux上显示当前磁盘IO队列长度?

我正在为Linux内核开发一个新的IO调度程序.我试图看看是否有人知道在Linux中打印出未完成的IO请求总数(磁盘IO队列)的工具?

我会在一个终端工作.

谢谢!

linux io kernel block scheduler

9
推荐指数
2
解决办法
4万
查看次数

什么是重新安排中断(RES)?是什么导致的?如何在Linux内核中处理?

"RES:Rescheduling interrupts"和"LOC:Local timer interrupts"有什么区别?什么责任解​​雇RES中断?LOC是否与处理器中的定时器h/w生成的通用定时器中断相同?

另外,请详细说明在定时器中断和RES中断期间调度器的哪个部分被调用?如何在Linux内核中发生?

提前致谢.

processor timer interrupt scheduler linux-kernel

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

是什么让内核/操作系统实时?

我正在阅读这篇文章,但我的问题是在一个通用的层面,我正在考虑以下几点:

  1. 内核可以实时调用,因为它有实时调度程序吗?或者换句话说,假设我有一个Linux内核,如果我将默认调度程序从O(1)或更改CFS为a real time scheduler,它是否会成为RTOS?
  2. 它需要硬件的任何支持吗?通常我看到嵌入式设备有RTOS(例如VxWorks,QNX),这些有没有特殊规定/ hw来支持它们?我知道RTOS进程的运行时间是确定性的,但是可以使用longjump/setjump在确定的时间内获得输出.

我真的很感激它的一些输入/见解,如果我对某事有误,请纠正我.

linux rtos scheduler linux-kernel

9
推荐指数
2
解决办法
3651
查看次数

使用Python脚本的Heroku调度程序

如何使用Heroku调度程序运行主目录中的python脚本?

通常我使用Heroku运行python"script.py"通过命令行运行它,但是对于Heroku Scheduler,这种语法显然不正确.在哪里说"rake do_something"这里运行python脚本的正确语法是什么?我试过"python script.py",这也不起作用.

谢谢!

python scheduler heroku

9
推荐指数
1
解决办法
3837
查看次数

根据与spring-boot @Scheduled批注一起使用的条件动态修改调度程序计时

我有一个调度程序,它以5秒的固定延迟触发。
我计划有多个调度程序,但是现在,让我们仅使用一个调度程序。

要求:应根据业务条件更改调度程序的fixedDelay
**例如,**默认fixedDelay5secs,但根据条件,它可以为6、8、10secs

因此,为了达到这个目的,我正在尝试修改fixedDelay。但这对我不起作用。

代码:
接口,带有延迟方法。

public abstract class DynamicSchedule{
        /**
         * Delays scheduler
         * @param milliseconds - the time to delay scheduler.
         */
        abstract void delay(Long milliseconds);

        /**
         * Decreases delay period
         * @param milliseconds - the time to decrease delay period.
         */
        abstract void decreaseDelayInterval(Long milliseconds);

        /**
         * Increases delay period
         * @param milliseconds - the time to increase dela period
        */
        abstract void increaseDelayInterval(Long milliseconds); …
Run Code Online (Sandbox Code Playgroud)

java spring scheduler scheduled-tasks taskscheduler

9
推荐指数
2
解决办法
1197
查看次数

App Engine - 打开的实例太多

我的应用程序运行在App引擎Java SDK上,从今天早上开始,我注意到开放实例没有处理新请求,而是正在启动新的Frontent实例.所以现在我有大约250个开放实例(比通常多很多).此外,实例在版本1.9.5上运行.

请指教!

java google-app-engine scheduler instances

8
推荐指数
1
解决办法
608
查看次数

如何每24小时在Asp.net MVC中执行一个方法

我在MVC中有方法

 public void Sendmails()
 {
     //sending mails for every 24 hours.
 }
Run Code Online (Sandbox Code Playgroud)

我可以安排上述方法每24小时执行一次.我知道我们可以使用sql server agent和windows task scheduler设置日程安排.但是由于某些问题我只想执行当前的dll,这在M​​VC中是否可行?

c# asp.net-mvc scheduler scheduled-tasks

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

如何使用自定义时钟与PHP程序使用Heroku Worker作业?

我是Heroku的新手.我正在努力实现一些简单的事情(至少我希望如此),但似乎没有直接的方法可以做到这一点.

我有几个PHP文件,我试图作为预定的工作(每5分钟)运行.这些运行一些时间可能需要超过30秒才能完成.因此,据我所知,我需要将它们设置为工人工作.

Heroku上给出的示例似乎是一个复杂的示例,我无法理解现有的PHP文件应该如何标记为worker.

另外,我想安排这个工人工作每5分钟运行一次.文档是指自定义时钟,但PHP没有示例.

有人可以指点我一个关于如何使用Worker进程并为他们安排Heroku for PHP程序的教程吗?初学者可以遵循的东西.

谢谢!

php clock scheduler heroku background-process

8
推荐指数
1
解决办法
762
查看次数