Merhabalar arkadaşlar biyoinformatik veri analizi sürecinde kullandığım bi python scriptim var bu script csv formatında ki dosyayı xlsx formatına dönüştürerek başka bir xlsx ile örtüşen veriler ile birleştirme işlemini yapmaktadır. Ancak sistemimde 12GB DRR4 2333mhz ram (8+4) ve 32GB M2 slot SSD şeklinde swap alanı bulunmasına karşın aşırı derecede ram kullanıyor ve bir süre sonra
İşleme alınan dosyalar
157003-goingxlsx.csv
1 dosya işleme alınıyor
157003-goingxlsx.csv okunuyor
./exome_hard_filter-v1.1: line 54: 17965 Killed python3 $MANIP
bu şekilde bi hata vererek adımı atlıyor ve işlemi yapmıyor. işleme aldığım dosyanın boyutu 380MB olmasına rağmen kaynakları sonuna kadar kullanıp hata veriyor. hatanın neden dolayı oluştuğunu çözemedim yardımcı olabilir misiniz?
programı class ve fonksiyonlarla yazmayı dene
yanlış anlamadıysam rama yüklenme sebebi bir işlemi bitirmeden ikincisini üçüncüsünü hatta daha fazla veriyi tekrar tekrar aynı anda işlemesi. Bir de aynı veriyi işlememesi için bir kod yazman.
bu arada bu benim şahsi görüşüm programlamada yeniyim ciddiye almana gerek yok bi fikir verir diye yazdım
Acilan hic bir sey kapanmamis. Garbage collector’a guvenmek kotu bir fikir degil (Python’i kullanma sebeplerimizden biri), ama bunun gibi sorun cikan durumlarda kod kalitesini gozden gecirmek iyi bir fikir olabilir. Pandas’in context manager destegi varmis: https://dev.pandas.io/docs/user_guide/io.html#reading-excel-files . Onu kullanmak yardimci olabilir.
Bir de benim aklima takilan programin neden oldugu. “Asiri” memory kullanimi 12+32 GB’i mi asiyor? O zaman hata vermesi normal; Python bu hatayi alinca programi olduruyor olabilir.
Her halukarda daha detayli bir hata mesaji lazim (hangi sinyal tarafindan olduruldugu bile yazmiyor). Programin (Python’in) stderr ciktisina erisimimiz var mi? MANIP degiskeninin icerigi ne?