I originally reported this issue under -
- and - XSO-626 -. Unfortunately we cannot upgrade to XenServer 7.1 or above without incurring a substantial cost, and so either require a workaround or a fix for this issue for XenServer 7.0. I am re-reporting this issue now as the problem has recently started occurring several times a day requiring constant intervention to prevent other VMs and processes taking a performance hit. XSO-659
What I haven't previously mentioned is that I have created a cron job within XenServer which executes every minute. The job calls the attached mirror_traffic.sh script, which essentially checks if a valid traffic mirror exists and, if not, creates a mirror to copy traffic from one VM to another. The source VM is our PBX and the destination is a VoIP recording (call recording) server.
I can only guess that the issue I am experiencing relates to this traffic mirroring configuration, but I could be wrong.
Just to recap, ovs-switchd process randomly uses >300% CPU until restarted, which has a severe impact on the XenServer host and all VMs running. To resolve the issue, either reboot the host or execute "systemctl restart openvswitch". The latter command is the preferred recovery option as this does not introduce downtime and can be done at any time without disrupting service.