The actor model has gained significant popularity in recent years, because its high-level abstraction facilitates the construction of massive concurrent distributed systems, e.g. cloud applications. However, building an efficient actor system is a challenging task. In particular, the concurrency granularity has a critical impact on the performance of actor systems. Moreover, the best granularity depends on both the available hardware and the characteristics of the workload. This paper proposes a new actor system, ElasticActor, that automatically adjusts the granularity of parallel execution. In ElasticActor, all actors are assigned to a number of actor stations. Actors in the same station share a mailbox and constitute the minimum scheduling unit. Therefore, the runtime system can adjust the granularity by changing the number of actor stations in the system. More specifically, we model the average latency and derive a closed-form formula to compute the best number of stations. The experimental results show that ElasticActor outperforms two state-of-the-art actor systems, CAF and Orleans. It gains up to 1.3× throughput and decreases the average latency by 0.75× thanks to the granularity adjustment.