linux Ubuntu подскажите нормальную виртуальную машину для запуска файлов
нужно на сервере запускать проги в которых может быть нежелательный код... и чтобы уберечься от лишних открытых сокетов и созданых файлов мне нужно их запускать на вирт машине...
я нашел lxc -, но потом прочитал что она не сильно хороша и что у нее есть много недоработок
подскажите какуюто нормальную вирт машину..., а если и совсем не влом то ссилку как ее нужно ставить
или может существует иной способ безопасно запустить такие приложения
мне как бы не нужно ставить в этой машине какие то ОС или еще что нибудь... просто нужно безопасно запускать файлы не боясь что ихний код что нибудь сделает не то
знаю тема специфическая, но может кто нить знает что то об єтом
25 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівНапример, так (или вынести «ps aux» в sh-файл):
С ходу не помню правильные флаги, почитайте ман по ps.IMHO qemu/kvm + oprofile w jit support
если я из джавы через Runtime.getRuntime ().exec (...) — запускаю файл на выполнение то как мне узнать память какую он потребляет?
какую команду выполнить?
думал сделать так:
pidof -s name_of_proc — достает ПИД из имени процеса -, но имя процеса не уникально и может повторятся...
Не очень:) Как по мне лучше:
В джаве вроде можно довольно легко считать выходные потоки процесса, запущенного из нее.
Если я все правильно помню, то он вам вернет инфу про ОС, а не про конкретный процесс.
Этот, вроде бы, только про процесс джавы, вы же запускаете новый.
Это, вроде бы, тоже инфа про состояние процесса Джавы.
вот этот код выводит все (или почти все) средства для работы с памятью и с процесором
тоесть это такие класы и ф-и как
java.lang.management.MemoryUsage
com.sun.management.OperatingSystemMXBean
RuntimeMXBean
Runtime.getRuntime ().totalMemory ()
искал на многих сайтах… и видил один и тот же алгоритм только разными способами (класами)
1) померять память
2) запустить процес
3) снова померять память и отнять разницу
(я думаю что это не очень хороший алгоритм)
если вирт боксы решат эту проблему своей внутреней статистикой то я буду очень рад (каюсь, я к ним еще не сильно смотрел)
нащет ps — еслы бы я мог узнать айди вызываемого процеса то в таком случае это далобы толк…, а так я только могу узнать айди главного процеса… так что думаю это отпадает
+1 VirtualBox
так не извращалсятаким не занимался, по этому не знаю о каких классах вы говорите (если вам не сложно назовите их).Для меня лично, очень сомнительно что это можно сделать средствами джавы. Как вариант можете выполнить ps и проанализировать ее выходной поток (это конечно изврат).
Кстати, запускать банарник от пользователя лучше все таки в виртуальной машине, она скорее всего и предоставит нормальный доступ к статистике.
извиняюсь за долгое отсутствие... (сесия у меня:))
померять память — это как на разных контестных сайтах (типа acmp.ru)... запускается файл через Runtime ().getRuntime ().exec (...); и нужно померять сколько памяти сожрал єтот запущеній процес... знаю в джаве есть много класов для єтого... я юзал их, но все они відавали уж очень неправдоподобній результат...
PS єто все исполняется на линуксе... убунте...
И все-таки VirtualBox. Под него накручивается какой-нибудь минимальный Линукс из тех, которые LiveCD/USB и готова площадка для экспериментов. Вобщем-то затрачиваемые ресурсы больше от гостаевой ОС зависят, чем от самой ВМ. У меня сейчас на ноуте целая виртуальная сеть бегает на таких ВМ.
Что вы подразумеваете под процессом? Опишите задачу подробнее.
ну сли ві уже память зацепили то может кто нибудь скажет как ее померять в джаве для запускаемых процесов...?)
Ну это не выход, а затычка.
Та если поискать то можно все сделать. Все таки, ИМХО, проще заплатить за ВМВаре или взять что-то бесплатное и не знать проблем, особенно с заменой нод и масштабируемостью.
А потребление проца и памяти как ограничить?
VMWare
ну, а если код будет открівать какой то сокет...? ведь chroot єто не предупреждает...
вот неплохой пример того чего я хочу єто разные контесты... типа acmp.ru там юзеры шлют свой код и он там исполняется..., а если они захотят открыть сокет? или создать дишний файл?
вони занадто громіздкі... мені треба просто запустити з консолі деякі виконуючі файли у якійсь вірт машині
Щоправда, мушу зазначити одну перевагу VMWare — там образ диску зберігається у кількох файлах, тоді як у VirtualBox — один величеезний файлище (втім, глибоко не копав — не виключено, що це також можна налаштувати).
А что лучше мазератти или бентли? ТУт дело вкуса. Копайся в манах и выбирай. Оба приложения используюдца в весьма солидных и здоровых решениях.
ясен пень бентли лучше
Что лучше мазератти или бентли? Дело вкуса. И те, и те решения используюдца многими компаниями.
немного не понял… вы о FreeBSD? если да то я же написал что у меня убунту…
ок… спасибо…, а не подскажите что из этого лучше?
KVM? Xen? Jail (для бсдунов)?