Düşük bellekli bilgisayarlarda linux kullanımı...

Linux ve Unix tabanli isletim sistemlerini hep beraber tanıyıp öğreneceğiz.
Cevapla
Kullanıcı avatarı
Kripteks®
Terabyte1
Terabyte1
Mesajlar: 3682
Kayıt: 12 Ara 2006, 12:44
cinsiyet: Erkek
Teşekkür edildi: 3 kez
İletişim:

Düşük bellekli bilgisayarlarda linux kullanımı...

Mesaj gönderen Kripteks® »

Bu dökümanın amacı, düsük hafızaya sahip ya da hafıza arttırımına gidilmesi henüz düsünülmeyen donanımlarda Linux'un nasıl kullanılacagı ve hafıza kullanımı düsürücü nasıl önlemler alınması gerektigini açıklamaktır.



Linux Çekirdegi :
=================
Tüm Linux dagıtımları ile gelen çekirdekler (kernel)genellikle cok sisirilmistir ve kullanmayacagımız bir çok parçacık ile gelmektedir. Eger ilk kurdugunuzdan beri çekirdeginizi hiç yeniden derlemediyseniz, hemen yeniden derlemenizi tavsiye ederim.

"Çekirdek - NASIL (Gorkem Cetin , Sertan Girgin )" bu Türkçe döküman size kendi çekirdeginizi derlemeniz konusunda yardımcı olacaktır. Yeniden derleyeceginiz çekirdekte dikkat etmeniz gerekenler; sadece isinize yarayacak olan eklentileri derleme islemine katmaktır. Örnek olarak : SCSI arabirimi bulundurmayan bir makinede, SCSI destekli bir çekirdek derlemek anlams1zdır...
Çekirdek ile ilgili olarak deginecegim son nokta mödüller.
Aynen derleme isleminde oldugu gibi, modül seçiminde de dikkatli olunması gerekmekte. Eger iyi bir sekilde modül ve salt derlenmis kod paylasımı yapılırsa, çekirdek ile haf1za arasındaki sorun giderilmis olacaktır. Mödüller hakk1nda daha fazla bilgi için :
"Modules mini-HOWTO, by Riley H. Williams" dökümanına basvurabilirsiniz.

Sanal Konsollar :
=================

Sanal konsollar, haf1za kullanımını düsürebilmeniz için, en iyi yollardan birisidir. Genellikle Linux dagıtımlarında 6 adet sanal konsol gelmektedir. (CTRL + F(1-6)) Ne kadar çok beklemede sanal konsolunuz varsa, o kadar çok hafızanız kullanılıyor demektir.
6 adet sanal konsol, yaklasık 4 megabyte hafıza gerektirmektedir.
Bunlardan bir kaçını devreden ç1karatarak, hafızadan kazanç saglayabilirsiniz.

Nasıl ? :
---------
* Herhangi bir metin düzenleyicisi (text editor) ile
/etc/inittab dosyasını açın.
* İçindeki satırlara göz atın.

c1:12345:respawn:/sbin/getty tty1 38400 linux
gibi satırlar göreceksizin. En yüksek numaralı; örnegin : "c6" ile baslayan benzer satırların basına
'#' isareti koyarak, bu konsolları devre dısı bırakın.

--
# c6:12345:respawn:/sbin/getty tty6 38400 linux
gibi...
--

Eger birden çok isi aynı anda yapmayacaksanız veya çok kullanıcılı, sunucu bir makineniz yoksa, 3 sanal konsol yeterli olacaktır.
* Makinenizi yeniden baslattıgınızda, daha az sanal konsolu ama daha fazla bos hafızası olan bir Linux makineye sahip olacaksınız.

Sunucular :
===========

Birçok Linux dagıtımı , belki de hiç bir zaman kullanmayacagınız, çal1sır haldeki sunucularla gelmekte. Arka planda duran ve baglantı durumunda çalısmaya baslayan bu sunucular da hafızanızı bos yere dolduranlardan. Bu sunucular bir betik (script) aracılıgı ile çalıstırılır. Bu betiklerin dosya yap1s1 olarak nerede tutuldugu dagıtımdan dagıtıma degismekte. Kendi makinemde (Slackware) bu betikler "/etc/rc.d/rc.*" altında yer alıyor.
Eger "Unix Kabuk Programlama" konusunda önceden bilgi sahibi iseniz bu size yararl1 olacak. Ama hiç bilmeyenler için bir kaç küçük açıklama ile bazı temel noktaları anlatmak istiyorum.
(Unix Kabuk Programlama konusunda daha fazla Türkçe kaynak için "Linux 1sletim Sistemi" isimli kitaptan yaralanabilirsiniz http://www.linux.org.tr/belgeler/lis )
"#" ile baslayan satırlara "comment" adı verilir ve kabuk (shell) bu satırları islemez. Sunucular1 baslatan betikler çogunlukla gereken derlenmis dosyaların dizin yapısı içinde olup olmadıgını ve çal1stırma izinlerini kontrol edip, durumların hepsi saglanıyorsa ilgili sunucuyu baslatırlar.
if [durum]
[gerekenleri yap]
fi

Burada kabuk, istedigi durumların saglanıp saglanmadıgını "if" deyimi ile kontrol ediyor. Eger durumlar saglanm1s ise [gerekenleri yap] kısmına geçip, ilgili sunucuyu gereken parametreleri ile baslatıyor. Sizin yapman1z gereken bu sunucuyu devre d1s bırakmak ve bunu yaparken , sadece kontrol mekanizmasını devre d1s bırakmak. "if" deyiminden basayarak, "if" i sona erdiren "fi" deyimine kadar "#" (comment) koyarsanız bu sunucu devre dısı kalm1s olacaktır.
Sisteminizde hangi sunucuların calıstıgını
"ps aux"

komutu ile ögrenebilirsdiniz. Bu komut size o an devredeki ^procsess^ leri gösterecektir. Buradan isimlerine bakarak hangilerinin sizin kendi ^procsess^ lerinizi oldugunu hangilerinin olmadgını anlayabilirsiniz.
Bir sunucunun hangi betik aracıgı ile çalıstırıldıgını ögrenmek için :
1 cd /etc/rc.d
2 grep -n [sunucu-ismi] rc.*

komutlarını sıras1 ile verin.

(Dikkat : Burada /etc/rc.d olarak Slackware sürümündeki betik yeri verilmi_tir Farkl1 bir sürümde bu dosya yerleri çok daha degisik olabilir. )

"grep" komutu çıktısına bakarak aradıgınız sunucunun hangi betikte oldugunu ve betigin neresinde yer aldıgını görebilirsiniz.

Bazı Sunucular ve Görevleri :
=============================
inetd :

inetd sunucusu makinenizdeki telnet, ftp, talk gibi servislere uzaktan erisimi saglar. Eger makinenizi bir sunucu olarak kullanmayacaksanız ve uzaktan erisim saglamasını istemiyorsanız bu sunucuyu kaldırabilirsiniz.
ldp :

ldp sunucusu Linux makinenizden 'lpr' komutu ile yazıcı çıktısı almanızı saglar. Eger bir yazıcınız yoksa, bu sunucuyu rahatl1kla devre dısı bırakabilirsiniz. Ama bir yazıcınıza varsa ve çıktı almanız gerekiyorsa, "dj-printcap" isimli sunucuyu size tavsiye ederim. Herhangi bir SUNSITE (*1) yansısı altında "/pub/Linux/system/Printing/" dizininden "dj-printcap.tar.gz" adlı dosyaya ulasabilirsiniz.

nfs ve mountd :

Bu iki sunucu NFS ( Network File System ) için kullanılır. Eger makinenizi bir agda dosya sunucusu olarak calıstırmayacaksanız veya uzaktaki diger UNIX makinelere direkt olarak harddiskinizi açmayacaksanız, bu iki sunucuyu kaldırmanızda bir sakınca yok. (*) NFS hakk1nda daha fazla bilgi için H.Çaglar Bilir taraf1ndan çevrilmis "NFS-Kök" ve "NFS-Kök-0stemci" dökümanlar1ndan yararlanabilirsiniz.

portmap :

portmap sunucusu RPC servislerini karsılama ve kullandırma amaçlı bir sunucudur. Eger bir NFS sunucusuna baglanmayacaksanız ve kullandıgınız programlar RPC servislerini gerektirmiyorsa, bu sunucularu devre dısı b1rakabilirsiniz.
sendmail :

Sendmail en fazla hafıza kullanan sunuculardan birisidir. Sendmail, elektronik posta alıp verme islemlerinizi gerçeklestiren sunucudur. Eger makinenizi bir elektronik posta sunucusu olarak çalıstırmayacaksanız bu sunucuyu kaldırabilirsiniz.
Ayrıca, bazı programlar elektronik posta göndermek için makinenizde çalısan, sendmail programını kullanırlar.
Bu programlara baska bir elektronik posta sunucusu gösterirseniz problem oratadan kalkmıs olacaktır.
httpd :

Bir çok Linux dagıtımı Apache WWW sunucusu ile geliyor. Eger makinenizi bir WWW sunucusu olarak kullanmayacaksanız, bu sunucuyu kaldırmanızı tavsiye ederim. Bir ev kullanıcısı iseniz ve sadece Internet'te dolasıp, ofis islerinizi yürütüyorsanız, zaten bu sunucuya hiç ihtiyacınız olmaz.
DİGERLERİ :

Sisteminizde çalısan diger sunucular da olabilir. Bunlara art1k kendiniz karar vermek durumndasınız. Eger gereksiz gorüyorsanız, hiç acımayın. :-)
(!) D0KKAT : "klogd" ve "syslogd" sunucularına mutlaka acıyın. Çünkü bu sunucular, sistem loglarını tutmak ve kernel dinamik modül islemlerini yütürtmek için çok gerekli... Sonuç :
=======

Yukar1da bahsettiklerimizin tümü, hafıza kullanımını biraz daha azaltmak için ne gibi önlemler alabilecegimizdi. Umarim ki sizlere sınırlı hafızanızı nasıl daha verimli kullanabileceginiz konusunda bir yol göstermisimdir.

Alıntıdır

Saygılarımla
Kullanıcı avatarı
Sawyer
Kilobyte2
Kilobyte2
Mesajlar: 317
Kayıt: 21 Nis 2006, 15:46

Mesaj gönderen Sawyer »

Paylasım için tesekkürler...
Cevapla