Почему 'top -M' был удален в более поздних версиях procps

perl -pale '
   $. == 1 and
   @I = map  { $_->[1] }
        sort { $a->[0] <=> $b->[0] }
        map  { [ $F[$_] =~ /^M(\d+)$/, $_ ] } 1..$#F;
   $_ = "@F[0, @I]";
' yourlargefile

  1. Для первой строки мы численно сортируем ее 2-й...последний столбцы, используя их числовые части после цифры M, встречающейся в начале, используя хорошо известную Schwartzian maneuver. Это дает нам индексы, переупорядоченные так, чтобы столбцы выходили в численно отсортированном порядке (M1, M2, M3,...)
  2. Остается только использовать эти индексы, полученные из @I, для повторного -размещения элементов @F.
  3. Назначение массива в виде двойных -кавычек преобразует его в строку с элементами, разделенными пробелами.
  4. Опция
  5. -pв Perl включает автопечать содержимого $_, -lдобавляет newline.
0
04.03.2017, 20:44
2 ответа

Я не знаю, почему это было удалено, но в текущих версиях procps top вы можете изменить масштаб в окне сводки с помощью E, а в окне задач с помощью e; последовательные нажатия клавиш перемещаются по различным доступным масштабам.

Настройки можно сохранить в файле конфигурации; настройте все так, как вам нравится, и нажмите W, чтобы сохранить все настройки в ~/.toprc. Соответствующие настройки для масштабирования памяти - Summ_mscale и Task_mscale, например,

Summ_mscale=2, Task_mscale=1

в ~/.toprc использует GiB в сводке и MiB в списке задач. Похоже, нет возможности указать это в командной строке.

2
28.01.2020, 02:34

Опция -M была не -стандартным дополнением RedHat. Он никогда не был частью стандартной верхней части procps. Я не уверен, почему это было удалено, возможно, это мешало масштабированию в других частях верха.

Итак, у вас есть два варианта.

  1. Установите масштаб с помощью клавиши E, как описано выше
  2. Используйте опцию -E, например, top -E g покажет единицы измерения в ГБ. Вы можете выбрать k,m,g,t,p,e (для тех случаев, когда у вас есть что-то, используя Exbibytes!)
0
28.01.2020, 02:34

Теги

Похожие вопросы