Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.07.05;
Скачать: [xml.tar.bz2];

Вниз

Максимальный размер файла   Найти похожие ветки 

 
ford ©   (2009-05-04 14:23) [0]

Подскажите плииз, какой максимальный размер файла
который можно создать с использованием
TFileStream


 
Сергей М. ©   (2009-05-04 14:30) [1]

Не больше допустимого в целевой файловой системе


 
ford ©   (2009-05-04 14:35) [2]

Угу уже попробовал сам
:)
в винде дошел до 3 гиг
дальше пробовать не стал

procedure TForm1.Button1Click(Sender: TObject);
Var f:TFileStream;
   i:Int64;
   m:Array[1..100000] of Int64;
begin
f:=TFileStream.Create("d:\max.dat",fmCreate);
i:=1;
repeat
 f.Write(m,SizeOf(Int64)*100000);
 Inc(i);
until i>=High(Int64);
f.Free;

end;


 
Медвежонок Пятачок ©   (2009-05-04 14:39) [3]

не больше размера тома


 
Сергей М. ©   (2009-05-04 14:58) [4]


> 3 гиг
> дальше пробовать не стал


Прежде чем наступить, пробуем на запах и вкус ?
Интересный подход)


 
test ©   (2009-05-04 14:59) [5]

D7

unit Classes;

function TStream.GetSize: Int64;
var
 Pos: Int64;
begin
 Pos := Seek(0, soCurrent);
 Result := Seek(0, soEnd);
 Seek(Pos, soBeginning);
end;

procedure TStream.SetSize(NewSize: Longint);
begin
 // default = do nothing  (read-only streams, etc)
 // descendents should implement this method to call the Int64 sibling
end;

procedure TStream.SetSize64(const NewSize: Int64);
begin
 SetSize(NewSize);
end;

procedure TStream.SetSize(const NewSize: Int64);
begin
{ For compatibility with old stream implementations, this new 64 bit SetSize
 calls the old 32 bit SetSize.  Descendent classes that override this
 64 bit SetSize MUST NOT call inherited. Descendent classes that implement
 64 bit SetSize should reimplement their 32 bit SetSize to call their 64 bit
 version.}
 if (NewSize < Low(Longint)) or (NewSize > High(Longint)) then
   raise ERangeError.CreateRes(@SRangeError);
 SetSize(Longint(NewSize));
end;


 
test ©   (2009-05-04 15:03) [6]

ford ©   (04.05.09 14:35) [2]
Ты вообще исходники не читаеш?


 
test ©   (2009-05-04 15:15) [7]

В unit Classes; читай реализацию для своей Дельфи.

Счас внимательно посмотрел реализация THandleStream немного отличается, THandleStream предок TFileStream. Читай код!


 
antonn ©   (2009-05-04 17:26) [8]


> не больше размера тома

зависит от ФС


 
Медвежонок Пятачок ©   (2009-05-04 18:22) [9]

> не больше размера тома

зависит от ФС


так зависит, что иногда м.б. больше размера тома?


 
clickmaker ©   (2009-05-04 18:28) [10]

> иногда м.б. больше размера тома?

в военное время


 
Тимохов_   (2009-05-04 20:18) [11]

в FAT32 если не ошибаюсь ограничение на 4 гига есть.


 
DVM ©   (2009-05-04 20:23) [12]


> в FAT32 если не ошибаюсь ограничение на 4 гига есть.

а не 2Гб?


 
Anatoly Podgoretsky ©   (2009-05-04 20:34) [13]

> clickmaker  (04.05.2009 18:28:10)  [10]

В военное время размером с чемодан.


 
test ©   (2009-05-04 20:55) [14]

Anatoly Podgoretsky ©   (04.05.09 20:34) [13]
-Танк может функционировать при температуре -300
-Но физики не знают таких температур!
-Повторяю танк секретный физики могут не знать.


 
blackman ©   (2009-05-04 20:57) [15]

А в мирное конечно меньше размера тома поскольку есть еще таблица файлов  :)
Для FAT32 максимальный размер файла - 4 Гб.
NTFS — 16 эксабайт (2^64 байт)


 
antonn ©   (2009-05-04 21:22) [16]


> DVM ©   (04.05.09 20:23) [12]
>
>
> > в FAT32 если не ошибаюсь ограничение на 4 гига есть.
>
> а не 2Гб?
>

4, сам накололся, когда не мог понять, почему игра не работала, у нее ресурсный файл был больше 4Гб :)


 
test ©   (2009-05-05 06:27) [17]

blackman ©   (04.05.09 20:57) [15]
Пользуются в конечном счете все равно API функциями/классами, а там

{ For compatibility with old stream implementations, this new 64 bit SetSize
calls the old 32 bit SetSize.  Descendent classes that override this
64 bit SetSize MUST NOT call inherited. Descendent classes that implement
64 bit SetSize should reimplement their 32 bit SetSize to call their 64 bit
version.}

для совместимости 32 битные и 16 битные функции, теоретически можно 2^64 байт файл создать, практически API надо будет писать самому.


 
tesseract ©   (2009-05-05 11:45) [18]


> NTFS — 16 эксабайт (2^64 байт)


Меньше. Вроде 4 терабайта на раздел и файл. Биты можешь не учитывать - системка то на деревьях построена.


 
Anatoly Podgoretsky ©   (2009-05-05 12:14) [19]

> tesseract  (05.05.2009 11:45:18)  [18]

Кстати как создать раздел свыше 2 ТБ
Динамический диск и Spanned?


 
tesseract ©   (2009-05-05 12:27) [20]


> Кстати как создать раздел свыше 2 ТБ


Не знаю, у Руссиновича только про теоретические основы были. Сорее всего RAID или  динамический  заработает.


 
Anatoly Podgoretsky ©   (2009-05-05 13:22) [21]

> tesseract  (05.05.2009 12:27:20)  [20]

Просто РАИД не работает, автоматически создает LUN (раздел) по 2 ТБ. C динамическим диском и spanned еще не пробовал.


 
Anatoly Podgoretsky ©   (2009-05-05 13:23) [22]

> tesseract  (05.05.2009 12:27:20)  [20]

Кстати программный/аппаратный раид 0 с тоже ограничение в 2 ТБ


 
tesseract ©   (2009-05-05 15:08) [23]


> с тоже ограничение в 2 ТБ


Странно, а как тогда raid на 10-16 дисков пашет?  там под 10 ТБ бывает раздельчики Вообще 2 TB - это вроде лимит загрузочного диска. Динамические должны работать.


 
Pavia ©   (2009-05-05 15:16) [24]


> Вообще 2 TB - это вроде лимит загрузочного диска.

В GUID Partition Table (GPT, GUID-таблица разделов) ограничения сняты. Вопрос только в софте который его поддерживает.


 
Anatoly Podgoretsky ©   (2009-05-05 15:38) [25]

> tesseract  (05.05.2009 15:08:23)  [23]

У меня РАИДы есть на 8 дисков, но меньше 2 гб.

У меня не загрузочный, единственно я не пробовал с динамическим диском.

Проблема возникла когда появились большие винчестеры. Захотелось, точнее покупались с желанием использовать всю суммарную емкость, а тут такой облом, как минимум на уровне контроллера. С динамическими попробую, когда буду покупать следующую партию винчестеров. Но хотелось бы знать как сделать.


 
Pavia ©   (2009-05-05 15:42) [26]


> минимум на уровне контроллера.

А не надо левые покупать сами ведь учили. Хотя где вы такой умудрились найти они все давно поддерживают.


 
Anatoly Podgoretsky ©   (2009-05-05 15:42) [27]

2 тб конечно, а то кто то серьезно подумает, что я делаю массивы по 2 ГБ.
Ну и конечно хотелось бы иметь массив на аппаратном уровне, а не на программном, но это вряд ли.


 
Anatoly Podgoretsky ©   (2009-05-05 16:23) [28]


> А не надо левые покупать сами ведь учили. Хотя где вы такой
> умудрились найти они все давно поддерживают.

Я учил и я следую этому совету.

Kонтроллер один из лучших для МайнСтримов - я выбирал методом проб, это четвертый контроллер и Интел/LSI в очередной раз подтвердили, что лучше для данного класса нет, у него удивительная логика управления. Ускорение для РАИДа 1/10 и на чтение и на запись, а если поставить еще батарейку то еще будет прирост. Текущая скорость работы 90-120 мб/сек по всей поверности для винчестеров свыше 1 тб и умноженое на N для раидов. Но ограничение в 2 ТБ для LUN

Контроллеры от Adaptec (три модели) и 3Ware опозорились, на уровне был только встроеный ICH9r контроллер от Интела.


 
Anatoly Podgoretsky ©   (2009-05-05 16:25) [29]


> Хотя где вы такой умудрились найти они все давно поддерживают.

Ограничение на LUN - но LUN можно сделать до 32 минимум. Суммарно можно подключить до 240 дисков.


 
DVM ©   (2009-05-05 16:32) [30]


> Anatoly Podgoretsky ©   (05.05.09 16:23) [28]


> Ускорение для РАИДа 1/10 и на чтение и на запись, а если
> поставить еще батарейку то еще будет прирост

Батарейку?


 
Anatoly Podgoretsky ©   (2009-05-05 16:36) [31]

Это кодовое название для OnBoard аккумулятора. Начинает работать кеширование для записи. И контроллер раньше отдает управление, чем реально закончится запись. Плюс кеширование при чтение - батарейка не требуется.


 
DVM ©   (2009-05-05 18:49) [32]


> Anatoly Podgoretsky ©   (05.05.09 16:36) [31]


> Начинает работать кеширование для записи

Никогда не думал, что это может повлиять на производительность. Всегда считал, что аккумулятор нужен только для завершения всех операций при аварийном пропадании питания. Буду знать.


 
antonn ©   (2009-05-05 22:05) [33]

Обычно ее называют BBU. Ставят при включенном write back, кеш на запись. Этот кеш можно включить и без батарейки, но чревато ошибкой "bad stripes" при инициализации массива в случае внезапного обесточивания ("свет выключили", контроллер не запомнит куда он успел записать из кеша, а куда нет). В принципе если есть UPS, то можно рискнуть, но м/у УПСом и контроллером много звеньев, которые потенциально нестабильны, потому ставят батарейку и не парятся :)
А она стоит в общем немало, присмотрел себе контроллер, к нему батарейка 5,5к рубелей, такая бздюлечная, как аккуумулятор от сотового, но вы что, это же для рейда! :)


 
Anatoly Podgoretsky ©   (2009-05-06 01:04) [34]

> antonn  (05.05.2009 22:05:33)  [33]

Цены конечно завышены.


 
Игорь Шевченко ©   (2009-05-06 01:08) [35]

Anatoly Podgoretsky ©   (05.05.09 16:36) [31]

Как вспомнишь, что работал на компьютере с двумя дисководами на 360 кб и те для гибких дисков, на одном система, на другом Turbo C, так диву даешься, слушая про батарейки, и в те времена скорости хватало, и программы писались, и не очень плохие :)


 
antonn ©   (2009-05-06 01:32) [36]


> Контроллеры от Adaptec (три модели) и 3Ware опозорились,
>  на уровне был только встроеный ICH9r контроллер от Интела.
>

да, кстати, можно ссылку на тест? собираюсь брать Адаптек, вместо этого ИЧ9р :)


 
Anatoly Podgoretsky ©   (2009-05-06 07:38) [37]

> antonn  (06.05.2009 1:32:36)  [36]

Тесты натуральные, полевые, на копирование. Кроме того Adaptec адаптеку рознь. Лучше возьми SRCSASxx (дорого) или оставайся на ICH9r


 
Anatoly Podgoretsky ©   (2009-05-06 07:40) [38]

> Игорь Шевченко  (06.05.2009 1:08:35)  [35]

Ну скорости не хватало, часто и объема. Но выбора то не было.


 
Riply ©   (2009-05-06 08:49) [39]

> [9] Медвежонок Пятачок ©   (04.05.09 18:22)
>> не больше размера тома

>>зависит от ФС

>так зависит, что иногда м.б. больше размера тома?

Комрессированный файл на NTFS при обычном чтении "раскрывается".
А размер файла может превосходить его же AllocationSize.


 
antonn ©   (2009-05-06 09:10) [40]


> Тесты натуральные, полевые, на копирование. Кроме того Adaptec
> адаптеку рознь. Лучше возьми SRCSASxx (дорого) или оставайся
> на ICH9r

ICH - софтовый, я беру аппаратный (asr-3405 скорее всего - http://www.nix.ru/autocatalog/controllers_adaptec/Controller_Adaptec_ASR3405_PCIE_x4_4port_SAS_RAID_1E_5EE_JBOD_Cache_64667.html )
ну и как бы скорость копирования мне вообще до лампочки, мне нужно зеркало, надежное. К тому же у аппаратных на зеркале передование запросов, при чтении скорость увеличивается :)



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2009.07.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.006 c
2-1242629348
товарищ вася
2009-05-18 10:49
2009.07.05
Показ hint-а вручную


15-1240910214
БарЛог
2009-04-28 13:16
2009.07.05
Где хранятся записи о последнем запуске программ?


2-1242503429
R0k
2009-05-16 23:50
2009.07.05
Перевернутые числа


15-1240919561
pasha_golub
2009-04-28 15:52
2009.07.05
Плейлист боевого настроения


8-1194476253
Проходящий мимо
2007-11-08 01:57
2009.07.05
Flash





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский