2

я разместил это в переполнении стека, но пользователь рекомендовал опубликовать здесь. извините за кросс-пост:

0 голосовать за звездочку

У меня есть доступ к нескольким кластерам Linux в школе. иногда они заняты, а иногда нет. Обычно я захожу на каждую машину вручную, используя команду "top", чтобы узнать, занят ли сервер (чтобы узнать, используются ли оба ядра). оттуда я выполняю свою программу, чтобы использовать некоторые серверы, которые могут свободно выполнять мои вычисления.

что я хотел бы сделать, это автоматизировать этот процесс с помощью скрипта. Предположим, у меня есть список серверов, скажем, server1 ... server N. Я бы хотел последовательно войти на каждый из этих серверов, выполнить некоторую команду (top?) и вывести список неиспользуемых серверов (или вывести два верхних процесса, показывающие% процессора, для каждого сервера).

Любые предложения будут ценны.

4 ответа4

1

Ну, я бы посмотрел на использование w, а не top (возвращает загрузку системы и кто вошел в систему), но оглянемся вокруг.

1

Спасибо за предложения. Вот мой сценарий для всех, кто заинтересован:

#! /usr/bin/env bash

out=avail.txt
rm -f "$HOME/$out"
minLoad=1
for h in $(cat "$HOME/listofservers.txt"); do
    ##w | head -1 | cut -d : -f 5 - | cut -d "," -f 2 -
    load=`ssh username@$h uptime | cut -d : -f 5 - | cut -d "," -f 2 -`
    comparison=`expr $load \< $minLoad`
    if [ comparison ]; then
        echo "$h" >> "$HOME/$out"
        ##echo "$load" >> "$HOME/$out"
    fi
done

PS У нас установлен SGE. Однако то, что я делаю, пока не очень хорошо с SGE. Благодарю.

0

Используя ssh-ключи, вы можете сделать что-то вроде этого:

for i in server1 server2 server N
 do
       ssh user@$i "uptime" 
 done

Команда Uptime также покажет загрузку окна. Вы можете использовать "top -b 1", "w" ...

Если вам нужна помощь в настройке ключей ssh, чтобы ssh не запрашивал пароль, прочитайте здесь. Как настроить SSH, чтобы мне не приходилось вводить пароль?

0

Установите двигатель Sun Grid. Или Гудзон.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .