Я загружаю файлы freebase в virtuoso. У меня 88 папок. Каждая папка содержит 4 файла. Я разделил файлы таким образом, потому что у меня всего 8 ГБ оперативной памяти.
#!/bin/bash
for i in {1..88}
do
isql 1111 dba dba exec="ld_dir('/data/data/${i}', '*.nt', 'http://freebase.com');"
isql 1111 dba dba exec="rdf_loader_run();"
isql 1111 dba dba exec="checkpoint;"
isql 1111 dba dba exec="commit WORK;"
isql 1111 dba dba exec="checkpoint;"
isql 1111 dba dba exec="delete from DB.DBA.load_list;"
done
Виртуоз.ini
# each buffer caches a 8K page of data and occupies approx. 8700 bytes of memory
# it's suggested to set this value to 65 % of ram for a db only server
# so if you have 32 GB of ram: 32*1000^3*0.65/8700 = 2390804
# default is 2000 which will use 16 MB ram
[Database]
MaxCheckpointRemap = 150000 (I have 8GB of RAM)
[TempDatabase]
MaxCheckpointRemap = 2000
NumberOfBuffers = 170000
MaxDirtyBuffers = 130000
Сообщение
Checkpoint удалил 628 МБ переназначенных страниц, оставив 31 МБ. Продолжительность 31,21 с. Чтобы сэкономить это время, увеличьте MaxCheckpointRemap и/или установите квоту Unremap на 0 в ini-файле.
Вопрос
Почему я получаю это сообщение? и влияет ли это на процесс загрузки и построения базы данных?
Обновить
#!/bin/bash
#clear list
isql 1111 dba dba exec="delete from DB.DBA.load_list;"
#load data
isql 1111 dba dba exec="ld_dir('/data/data, '*.gz', 'http://freebase.com');"
isql 1111 dba dba exec="set isolation='uncommitted';"
isql 1111 dba dba exec="rdf_loader_run();"
#checkpoint
isql 1111 dba dba exec="checkpoint;"
isql 1111 dba dba exec="commit WORK;"
isql 1111 dba dba exec="checkpoint;"
виртуоз.ini
MaxCheckpointRemap = 150000 (8GB RAM)
# Uncomment next two lines if there is 4 GB system memory free
NumberOfBuffers = 340000
MaxDirtyBuffers = 250000
# I have 6 cores
ThreadsPerQuery = 4
AsyncQueueMaxThreads = 10
#NO THREADS LEFT IN THE QUEUE
ThreadCleanupInterval = 0
ThreadThreshold = 0
#check point every 30 minutes.
CheckpointInterval = 30
rdf_loader_run()
делает все необходимое для запуска импорта. Контрольная точка не очищает оперативную память (свободная оперативная память — это потраченная впустую оперативная память). Контрольная точка принудительно записывает состояние базы данных на диск в виде единого согласованного образа, очищает журнал транзакций и т. д. (docs.openlinksw.com/virtuoso/checkpoint.html ) Во время массового импорта вы, вероятно, не захотите делать это каждую минуту. 27.05.2015