Как смонтировать компакт-диск в Dosbox с помощью 18.04?

Я безуспешно пытался смонтировать компакт-диск в Dosbox после того, как проследил за различными ветками там.

Похоже, проблема в том, что я не могу распознать каталог, в котором находится мой компакт-диск. Когда я смотрю на расположение компакт-диска, он показывает / media / andrew / CM (игра Championship Manager 2), поэтому я попробовал / media / CM , / media / andrew / CM и т. д., но всегда указывает, что каталог не существует.

Есть идеи, пожалуйста?

1
задан 24 July 2018 в 17:57

12 ответов

Если Вы хотите действительно посмотреть на то, что продолжается в памяти VM, необходимо использовать хороший инструмент как VisualVM. Это программное обеспечение является бесплатным, и это - отличный способ видеть то, что продолжается.

Ничто не действительно "неправильно" с явным gc () вызовы. Однако помните, что при вызове gc () Вы "предполагаете" что запущенный сборщик "мусора". Нет никакой гарантии, что это будет работать в точное время, Вы выполняете ту команду.

52
ответ дан 1 November 2019 в 01:54

Существуют инструменты, которые позволяют Вам контролировать использование памяти VM. VM может выставить статистику памяти с помощью JMX. Можно также распечатать статистику GC, чтобы видеть, как память работает со временем.

Вызов System.gc () может вредить производительности GC, потому что объекты будут преждевременно перемещены от нового до старых поколений, и слабые ссылки будут очищены преждевременно. Это может привести к уменьшенной эффективности памяти, более длительные времена GC и уменьшенные удачные обращения в кэш (для кэшей, которые используют слабых судей). Я соглашаюсь с Вашим консультантом: System.gc () плох. Я пошел бы до для отключения его с помощью переключателя командной строки.

28
ответ дан 1 November 2019 в 01:54

Быстрый взгляд в то, что происходит внутренний кот через Визуальный VM. http://www.skill-guru.com/blog/2010/10/05/increasing-permgen-size-in-your-server/ alt text

alt text

6
ответ дан 1 November 2019 в 01:54

Вы попробовали JMX?

http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html

alt text
(источник: sun.com)

8
ответ дан 1 November 2019 в 01:54

Смотрите на JVM args: http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#DebuggingOptions

Печать XX:-PrintGC обменивается сообщениями при сборке "мусора". Управляемый.

- Печать XX:-PrintGCDetails больше деталей при сборке "мусора". Управляемый. (Представленный в 1.4.0.)

- Печать XX:-PrintGCTimeStamps устанавливает метку времени при сборке "мусора". Управляемый (Представленный в 1.4.0.)

- Печать XX:-PrintTenuringDistribution tenuring информация о возрасте.

В то время как Вы не собираетесь нарушать JVM с явными вызовами к System.gc() они не могут иметь эффекта, который Вы ожидаете. Действительно понять, что продолжает память в JVM с чтением что-либо и все записи Brian Goetz.

5
ответ дан 1 November 2019 в 01:54

При использовании JMX, обеспеченного историю выполнений GC, можно использовать то же перед/после того, как числами, Вы просто не должны вызывать GC.

просто необходимо иметь в виду, что те выполнения GC (обычно один для старого и один для нового поколения) не находятся на регулярном меж-Вальсе, таким образом, необходимо извлечь starttime также для графического изображения (или Вы выводитесь на печать против порядкового номера для наиболее практических целей, которые были бы достаточно для графического изображения).

, Например, на Oracle HotSpot VM с ParNewGC, существует JMX MBean, названный java.lang:type=GarbageCollector,name=PS Scavenge, он имеет атрибут LastGCInfo, он возвращает CompositeData последнего выполненного мусорщика YG. Это зарегистрировано с duration, абсолютный startTime и memoryUsageBefore и memoryUsageAfter.

Просто используют таймер для чтения того атрибута. Каждый раз, когда новый startTime обнаруживается, Вы знаете, что он описывает новое событие GC, Вы извлекаете информацию о памяти и продолжаете опрашивать относительно следующего обновления. (Не уверенный, если AttributeChangeNotification так или иначе может использоваться.)

Подсказка: в Вашем таймере Вы могли бы измерить расстояние до последнего GC, выполненного, и если это слишком длинно для resulution Вашего графического изображения, Вы могли бы вызвать System.gc () условно. Но я не сделал бы этого в экземпляре OLTP.

2
ответ дан 1 November 2019 в 01:54

Я сказал бы, что консультант прав в теории, и Вы правы на практике. Как говорится:

В теории теория и практика являются тем же. На практике они не.

Спецификация Java говорит, что System.gc предлагает назвать сборку "мусора". На практике это просто порождает поток и работает сразу же на JVM Sun.

Хотя в теории Вы могли портить некоторую точно настроенную реализацию JVM сборки "мусора", если Вы не пишете общий код, предназначенный, чтобы быть развернутыми на любой JVM там, не волнуйтесь об этом. Если это работает на Вас, сделайте это.

9
ответ дан 1 November 2019 в 01:54

Можно смотреть на stagemonitor. Это - Java с открытым исходным кодом (сеть) монитор производительности приложения. Это получает метрики времени отклика, метрики JVM, детали запроса (включая стек вызовов, полученный профилировщиком запроса) и т.д. Издержки являются очень низкими.

Дополнительно, можно использовать большой timeseries графит базы данных с ним для хранения долгой истории точек данных, что можно посмотреть на с необычными панелями инструментов.

Пример: JVM Memory Dashboard

Смотрят на веб-сайт проекта для наблюдения снимков экрана, описаний функции и документации.

Примечание: Я - разработчик stagemonitor

10
ответ дан 1 November 2019 в 01:54

Явно выполнение System.gc () в производственной системе является ужасной идеей. Если память добирается до какого-либо размера вообще, вся система может заморозиться, в то время как полный GC работает. На multi-gigabyte-sized сервере это может легко быть очень примечательно, в зависимости от того, как jvm настроен, и сколько высоты он имеет, и т.д. и т.д. - я видел паузы больше чем 30 секунд.

Другая проблема - то, что путем явного вызова GC Вы на самом деле не контролируете, как JVM выполняет GC, Вы на самом деле изменяете его - в зависимости от того, как Вы настроили JVM, это собирается собрать "мусор" в надлежащих случаях, и обычно инкрементно (Это только выполняет полный GC, когда это исчерпывает память). То, что Вы будете распечатывать, будет ничем как то, что JVM сделает на своем собственном - с одной стороны, Вы будете, вероятно, видеть меньше автоматические / возрастающий GC, поскольку Вы будете очищать память вручную.

Как сообщение Nick Holt указывает, опции распечатать действие GC уже существуют как флаги JVM.

У Вас мог быть поток, который просто распечатывает свободный и доступный в разумных интервалах, это покажет Вам фактическую мадам useage.

5
ответ дан 1 November 2019 в 01:54

Как был предложен, попробуйте VisualVM для получения основного представления.

Можно также использовать ЦИНОВКУ Eclipse, чтобы сделать более подробный анализ памяти.

Нормально делать System.gc () как долго, поскольку Вы не зависите от него для правильности Вашей программы.

0
ответ дан 1 November 2019 в 01:54

Если Вам нравится хороший способ сделать, это из командной строки использует jstat:

http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html

Это дает необработанную информацию в настраиваемых интервалах, которая очень полезна для входа и построения графика целей.

4
ответ дан 1 November 2019 в 01:54

Создайте образ диска с компакт-диска, затем:

Вручную:

dosbox -c "imgmount D [isoList] -t iso" [exe] -fullscreen -exit

Автоматически:

0
ответ дан 28 January 2021 в 00:56

Другие вопросы по тегам:

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