Chinaunix
标题:
kworker 进程是何进程, top 看了下, 很占用系统时间,在那里屏蔽?
[打印本页]
作者:
pcl001
时间:
2014-06-19 15:32
标题:
kworker 进程是何进程, top 看了下, 很占用系统时间,在那里屏蔽?
kworker 进程是何进程, top 看了下, 很占用系统时间,在那里屏蔽?
作者:
qxhgd
时间:
2014-06-19 15:49
貌似跟电源管理有关。
作者:
chenyu105
时间:
2014-06-19 16:16
workqueue的工作线程? 很多工作依赖这个线程吧 tty什么的
作者:
pcl001
时间:
2014-06-19 17:41
回复
3#
chenyu105
内核为 linux-3.0.35, 好像以前没看到这个 进程呀
作者:
pcl001
时间:
2014-06-19 17:42
将电源管理部分关闭, 别的 象 ehci USB部件编译通不过
作者:
pcl001
时间:
2014-06-19 17:51
回复
2#
qxhgd
将电源管理部分关闭, 别的 象 ehci USB部件编译通不过
作者:
chenyu105
时间:
2014-06-20 08:11
回复
4#
pcl001
老的版本叫keventd,后来改名了吧。。
# cat /proc/328/stat
328 (kworker/9:1) S 2 0 0 0 -1 69238880 0 0 0 0 0 7 0 0 20 0 1 0 225 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 18446744071629582160 0 0 18 9 0 0 0 0 0 0 0 0 0 0 0 0 0
# cat /proc/328/wchan
worker_thread#
static int create_workqueue_thread(struct cpu_workqueue_struct *cwq, int cpu)
{
struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
struct workqueue_struct *wq = cwq->wq;
const char *fmt = is_wq_single_threaded(wq) ? "%s" : "%s/%d";
struct task_struct *p;
p = kthread_create(worker_thread, cwq, fmt, wq->name, cpu);
static int worker_thread(void *__cwq)
{
struct cpu_workqueue_struct *cwq = __cwq;
DEFINE_WAIT(wait);
if (cwq->wq->freezeable)
set_freezable();
if(strncmp(current->comm,"rpciod",strlen("rpciod"
)==0)
current->extra_flags |= PFE_RPCIOD;
for (;
{
prepare_to_wait(&cwq->more_work, &wait, TASK_INTERRUPTIBLE);
if (!freezing(current) &&
!kthread_should_stop() &&
list_empty(&cwq->worklist))
schedule();
finish_wait(&cwq->more_work, &wait);
try_to_freeze();
if (kthread_should_stop())
break;
run_workqueue
(cwq);
}
return 0;
}
作者:
humjb_1983
时间:
2014-06-23 08:35
这应该是新的工作队列的实现~
作者:
humjb_1983
时间:
2014-06-23 12:40
原有的工作队列机制存在两个主要问题:1、并发性差,队列中的任务串行执行。2、资源占用较多。
新的工作队列机制引入任务资源池worker_pool概念
工作线程由任务资源池负责创建和回收,工作队列不会创建工作线程。当工作队列创建时,将工作队列绑定到特定的任务资源池。当用户使用queue_work等接口向指定工作队列中添加工作任务时,工作队列负责向任务资源池中添加工作任务,由任务资源池管理的工作线程完成任务的执行。
kworker应该是不能关闭的,如果占用cpu较高,可以cat /proc/pid/stack看看堆栈。
作者:
qingduo04
时间:
2015-03-14 15:57
!!!!!!!!!!!!!!!!!111
翻出这个帖子,当前 kworker太消耗性能了,不知道什么原因?
百度,google都没有解决办法,有没有大拿帮看看?
作者:
镇水铁牛
时间:
2015-03-14 17:15
kworker不同于kevent,新内核把很多工作都交给它去做了,新内核吧kpdflush都让kworker去替代了,它就是个worker pool
作者:
bzhao
时间:
2017-10-16 16:19
谁是大拿啊!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2