OT: linux-Too many open files
Milan Kratochvíl
krata.milan na seznam.cz
Úterý Říjen 15 18:09:55 CEST 2013
Nebude u stringlistu stejný problém s kolizí dvou zápisů?
Napadá mne zkusit semafory, ale aby to jen problém neoddálilo.
Jinak jestli to v threadu funguje tak bych jej užil raději než timer.
Milan
Dne 15.10.2013 17:58, Zapletal Martin napsal(a):
> No, to mně taky napadlo a tak jsem data začal cpát do TStringList a
> zapsal je, jen když jich tam bylo více než 10. To znamená, že data
> přečtená v OnTimer šla nejprve do TStringList-u a jako teprve potom do
> souboru. A bylo to pořád stejné. Čumím do toho kódu už pátý den a už
> jsem z toho zpitomělej. Už jsem zkoušel hodně variant...
>
> ----- Original Message -----
> *From:* Milan Kratochvíl <mailto:krata.milan na seznam.cz>
> *To:* HW-news <mailto:hw-list na list.hw.cz>
> *Sent:* Tuesday, October 15, 2013 5:50 PM
> *Subject:* Re: OT: linux-Too many open files
>
> Když v Lazaru zapomenu použít knihovnu cthreads tak mi thready
> končí s s touto hláškou (jestli si dobře pamatuji), ale Lazarus to
> tam dává automaticky.
>
> Teď řeknu jen myšlenku, kterou nemám podloženou a nevím zda takto
> TTimer pracuje.
> Není možné, že nějaký zápis trvá déle a tak je událost OnTimer
> vyvolána ještě během vykonávání předchozí události.
>
> Milan
>
>
> Dne 15.10.2013 17:34, Zapletal Martin napsal(a):
>> Lazarus, v události OnTimer přečtu data a předám je proceduře,
>> která jen zapíše na disk. Mohlo by to být tím, že to je v Timeru
>> a ne v threadu? Mám i jinou aplikaci a ta data čte v threadu,
>> stejnou procedurou je zapisuje a tam to nepadá.
>> Zaplik
>>
>> ----- Original Message -----
>> *From:* Milan Kratochvíl <mailto:krata.milan na seznam.cz>
>> *To:* HW-news <mailto:hw-list na list.hw.cz>
>> *Sent:* Tuesday, October 15, 2013 5:26 PM
>> *Subject:* Re: OT: linux-Too many open files
>>
>> V jakém kompileru to máte? Zapisujete v těle programu nebo v
>> threadu?
>> Milan
>>
>> Dne 15.10.2013 16:39, Zapletal Martin napsal(a):
>>> Zdravím.
>>> Nedokázal by mi prosím někdo poradit, co dělám špatně při
>>> zápisu dat? V pascalu klasicky zapisuji data do souboru pomocí:
>>> AssignFile(F, cesta);
>>> Append(F);
>>> WriteLn(F, co);
>>> CloseFile(F);
>>> Ale po asi třech hodinách zápisu do toho souboru(mi to
>>> klekne na uvedené hlášce). Soubor je malý, nemá ani 1/2
>>> mega. Velikost má pokaždé jinou. Na netu jsem našel info o
>>> této problematice, že se má zvednout hodnota v souboru
>>> /proc/sys/fs/file-max na cca 200000. Ale ani to nepomohlo.
>>> Se souborem myslím pracuji korektně a zapisuji do něj tak
>>> 5-10x za minutu. Žádný drama. Prostě jen přečtu nasbíraná
>>> data a zapíši do souboru. Ale POZOR! Pokud si udělám
>>> jednoduchý testovací cyklus a v něm zapisuji data do toho
>>> souboru, zapíšu tam třeba 50000 záznamů jako by nic. Proč se
>>> mi neuvolňují popisovače a ucpává se to? Linuxář moc velký
>>> nejsem, 95% aplikací dělám pro Win ale na to, jak je to
>>> prosté si s tím nevím rady. Medium pro zápis je OK, žádné
>>> chyby nevykazuje. Je nějaký příkaz jak uvolňovat popisovače
>>> souborů? Disk je FAT32. Pomohlo by jej předělat na nějaký
>>> EXT??? Potíž je, že by měl zůstat čitelný pro Win.
>>> Zaplik
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list - sponsored bywww.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> ------------------------------------------------------------------------
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> ------------------------------------------------------------------------
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20131015/67762180/attachment.htm>
Další informace o konferenci Hw-list