# Does Seastar use one thread per core?

**URL:** <https://forum.scylladb.com/t/does-seastar-use-one-thread-per-core/5041>\
**Category:** ScyllaDB\
**Tags:** seastar, architecture, threads\
**Created:** [August 5, 2025, 12:58pm UTC](https://forum.scylladb.com/t/does-seastar-use-one-thread-per-core/5041 "2025-08-05T12:58:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anna](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/anna/32/48_2.png) [@Anna](https://forum.scylladb.com/u/Anna)\
**Post date:** [August 5, 2025, 12:58pm UTC](https://forum.scylladb.com/t/does-seastar-use-one-thread-per-core/5041/1 "2025-08-05T12:58:47Z")

</div>

I thought that ScyllaDB’s underlying [Seastar framework](https://github.com/scylladb/seastar) uses one thread per core, but I see more than two threads per core. Why is that?

---

<div class="post-metadata">

**Author:** ![Guy](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/guy/32/9_2.png) [@Guy](https://forum.scylladb.com/u/Guy)\
**Post date:** [August 6, 2025, 4:51am UTC](https://forum.scylladb.com/t/does-seastar-use-one-thread-per-core/5041/2 "2025-08-06T04:51:16Z")

</div>

Seastar creates an extra thread per core for blocking syscalls (like open()/ fsync() / close() ); this allows the Seastar reactor to continue executing while a blocking operation takes place. Those threads are usually idle, so they don’t contribute to significant context switching activity.

You can learn more about this in the [documentation](https://docs.seastar.io/master/index.html).
