Longhorn is using too many CPUs

Hi, we just ran the new script to migrate from Rook to Longhorn and it seems fine now. But our application was not able to schedule because there were not sufficient CPUs. We found that Longhorn is using a lot of CPUs, is there a way we can fix it? If our customer runs the same script to migrate, can we do something to prevent from it? Thanks!

longhorn-system             instance-manager-e-4f7d5612                 1920m (12%)   0 (0%)      0 (0%)           0 (0%)
longhorn-system             instance-manager-r-ff750983                 1920m (12%)   0 (0%)      0 (0%)           0 (0%) 

I think the short version is that there is nothing that we can do for the upstream project to reduce the CPU consumption. I see a few issues reported of high CPU utilization in Longhorn Github, some which may have been resolved in older versions and some that I’m not sure were resolved. We can only try to keep publishing new versions of the add-on.

Is this a single node cluster? There might be an option to move from Rook to OpenEBS, which would provide a light-weight storage solution in that case. We currently don’t support this move, but I could add it as a feature request.

I think it is not CPU utilization. It seems that longhorn just requests too many CPU cores, which I don’t understand why it needs that much. I am running on a machine with 16 cpus and longhorn is requesting 4cpus in total, which seems too much to me. I am wondering if this is something we could configure in the kurl script to avoid

Looks like it is configurable in Longhorn, although part of their “Danger Zone” settings. I can make a product requests to expose this in the kurl installer, however, I’m not sure we’ll want to expose these settings that could degrade production systems. Ticket number incoming.

I created internal ticket SC-42534 to see if our product team would like to expose these settings.

1 Like