Я учусь переносить Amazon RDS для базы данных Oracle в Amazon Redshift, используя это руководство https://docs.aws.amazon.com/dms/latest/sbs/CHAP_RDSOracle2Redshift.html
На шаге 5 я использую Amazon SCT для преобразования схемы Oracle в Amazon Redshift. Но мне нужно изменить конфигурацию для Amazon SCT, потому что учебный документ устарел, написан в 2017 году. Одно из изменений конфигурации, я пытаюсь отключить использование AWS Glue. Я открываю Настройки проекта, чтобы снять флажок «Использовать AWS Glue». И вскоре после этого AWS SCT завис.
У моего компьютера 8 ГБ памяти, и я пробую бизнес-компьютер с 16 ГБ памяти. Все равно это бесполезно.
Согласно этого блога, мне нужно увеличить размер JVM. Итак, я редактирую файлы конфигурации для SCT.
[Application]
app.name=AWS Schema Conversion Tool
app.version=1.0.645
app.runtime=$ROOTDIR\runtime
app.identifier=com.amazon.sct
app.classpath=$ROOTDIR\app\AWSSchemaConversionTool.jar;$ROOTDIR\app\AWSSchemaConversionToolBatch.jar
app.mainjar=$ROOTDIR\app\AWSSchemaConversionTool.jar
app.mainclass=com.amazon.sct.App
[JavaOptions]
-Xss128M
-Dfile.encoding=UTF-8
-XX:+UseParallelGC
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
[JVMUserOptions] #add
–Xmx4096m #add
–Xms2048m #add
[ArgOptions]
Заканчиваю редактирование файлов и перезапускаю AWS SCT, но память JVM не увеличивается.
Я понятия не имею, как решить эту проблему. Что я должен делать дальше? Пожалуйста, помогите мне.
Неудивительно, что это идет не так. У вас есть размер стека 128 МБ на поток, но всего 4096 МБ в целом. Это дает вам достаточно места только для использования 40 потоков, а затем не иметь никаких объектов в куче.
Вероятно, лучше всего раскомментировать все размеры пространства и позволить JVM делать свою работу автоматически.
Однажды я удалил AWS SCT и переустановил старую версию. Затем я мог открыть окна настроек проекта и снять флажок [Использовать AWS Glue]. Настройки проекта
Вы говорите, что я должен удалить приведенный ниже код [JVMUserOptions], верно? Сначала я использую AWS SCT с конфигурацией по умолчанию. Но AWS SCT завис после того, как я открыл настройки проекта. Итак, я редактирую файлы конфигурации для SCT, чтобы увеличить память JVM. Правильно ли я думаю?