Is there any way to "linux nice" a process to have less priority We have some high resource views that would have less impact on the overall performance if they ran at a low priority, e.g. linux nice'd to a low priority.
Well...

This is rather complicated to solve and probably not suitable for all available configurations. Given you don't reuse processes and the given php process terminates at the end of the request you can use proc_nice().

Next thing will be to be at the right spot to nice the process, does the heavy loading occur before executing? while executing? Also nicing the php process probably won't take any load of the mysql server or whatever other backend this process is requesting.

Looking at view::execute there's no way to distinguish at this point between cached views and uncached ones - so going that route we also have to nice processes which have a cache - probably something to think about.

Drupal 7 Implementation using hook_views_pre_execute().

/**
 * Implements hook_views_pre_execute().
 */
function mymodule_views_pre_execute(&amp;$view)) {
  if($view-&gt;name=="machine_name_of_my_view") {
    // http://php.net/manual/en/function.proc-nice.php
    // Setting something higher would lead to idle only processing.
    // Please refer to the documentation of proc_nice and nice.
    proc_nice(9); 
  }
}


Drupal 8 implementation using hook_views_pre_execute():

/**
 * Implements hook_views_pre_execute().
 */
function views_pre_execute(ViewExecutable $view) {
  if ($view-&gt;id() == 'machine_name_of_my_view') {
    // http://php.net/manual/en/function.proc-nice.php
    // Setting something higher would lead to idle only processing.
    // Please refer to the documentation of proc_nice and nice.
    proc_nice(9); 
  }
}


Keep in mind that this solution requires quiet some constraints to work for you:


Heay load is actually in the php layer
proc_nice() is available (not all environments allow this)
dedicated php processes which terminates at the end