你能告诉我Linux的透明巨型页面(THP)导致性能下降的实际应用程序示例吗?一些主页告诉数据库应用程序(Hadoop、mongoDB、redis等)显示性能下降,但我无法确认结果。
我想评估使用THP或不使用THP时的性能。谢谢。
发布于 2016-01-31 15:55:40
对于redis,性能下降有很好的文档记录和测试,建议禁用来自redis的TFM的大型页面:
不幸的是,当Linux内核启用了透明的大页面时,Redis在使用fork调用以便在磁盘上持久化之后,会招致很大的延迟损失。超大页面是导致以下问题的原因:调用Fork,创建两个具有共享超大页面的进程。在繁忙的情况下,运行几个事件循环将导致命令指向几千个页面,从而导致几乎整个进程内存的写入时复制。这将导致较大的延迟和内存使用量。
请参见:
http://antirez.com/news/84
http://redis.io/topics/latency
发布于 2020-12-14 12:16:31
当访问的应用程序数据是连续的时,THP通常会提高性能,但如果内存访问模式不是连续的,THP可能会导致系统不稳定。
数据库工作负载的内存访问通常是稀疏的,而不是连续的,因此THP可能会导致性能下降。
如果您的数据库获得高sys cpu、高sys load或异常的RES使用率,则可能与THP有关。
https://stackoverflow.com/questions/35102580
复制相似问题