A következő címkéjű bejegyzések mutatása: Win7. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: Win7. Összes bejegyzés megjelenítése

2011. május 5., csütörtök

Memória upgrade 8GB-ra

Kivételesen egy rövid történetet osztok meg, leginkább azért, hogy a megörökítsem ennek a történelmi lépésnek az okait, megoldását és eredményét. Ha olvastad az elmúlt hónapok bejegyzéseit, akkor nagyjából képben vagy, hogy erősen használom a Virtualbox virtualizációs megoldását. Az okok egyszerűek
  • így egymástól elszeparáltan tudom tartani az egymáshoz nem illő fejlesztői és support környezeteket
  • sandbox-nak és tesztelési környezetek ki vannak alakítva (több oprendszeren)
  • könnyen, gyorsan menthető, átadható másnak
  • stb.
Mindezt teszem egy HP Compaq 8510w notebook-on, amin Win7 Pro 64bit fut és 4 GB RAM-mal áldotta meg a gyártósor. A problémák itt jelentkeztek az elmúlt hetekben. A gépben egy Core 2 Duo processzor fűti a szobát 2.4GHz-en, és azt kell, hogy mondjam, hogy gond nélkül kezel akár 2 futó virtuális gépet is párhuzamosan. Ami kevésnek bizonyul ilyenkor, az a memória. Gyorsan be is vágom ide az erre vonatkozó resource monitor által mutatott állást - amit a Win7 produkál - mindenféle extra futó alkalmazás nélkül:


Az ábrában található értékek több hete futó (csak sleep-elni szoktam) gép memóriahasználatát mutatják. Mint látszik vezet a svchost és nyomban mögötte ballag a skype. (itt azért erős leszek: bzmg, 150MB egy taskbarra lehúzott nyugalmi állapotban levő, éppen különösen semmit nem csináló alkalmazás memóriafoglalása??? He?) Ami érdekes a képen az a legalsó sor, ami így néz ki némi magyarázattal:
  • Installed: 4096 MB - ez rendben van, tényleg ennyi az ennyi
  • Hardware reserved: 65MB - mondhatnám na bumm, ha ennyi kell neki, hát ennyi kell neki
  • In use: 2121 MB - na ezt egy kicsit túlzásnak érzem, de mint mondtam, ez alapvetően egy fejlesztő gép, mindenféle adatbázis és webszerverrel, kommunikációs progival, vírusirtóval, meg egy igen nagy és gyors operációs rendszerrel.
  • Modified: 59MB - ez olyan memória, amit először diszkre kell írni, és csak utána lehet felszabadítani - nem sok, sosem volt sok.
  • Cached/Standby: na itt a dolog rákfenéje. Ez olyan lefoglalt, használt memória, ahova a Win7 betárolja azokat az állományokat, kódrészleteket, amiket a felhasználó és a processek gyakran töltenek ki-be, de éppen nincsenek használatban. Ez egy ritka hasznos találmány, ettől lesz gyors a rendszer, ettől indulnak a gyakran használt alkalmazások pikk-pakk. A mérete viszont nem kicsi. Mint a lenti sorban látszik ezt a memóriát a Win7, mint available - tehát, mint elérhető memóriát aposztrofálja, hiszen ha bármilyen processznek memóriára van szüksége és az nagyobb, mint a Free-vel jelzett terület, úgy ebből a részből ad neki, úgy, hogy felszabadít annyi helyet, amennyi csak szükséges.
A fenti memória eloszlából adódóan, ha elindítunk egy virtuális gépet, amelyhez hozzárendeltünk 1024 MB memóriát a következők fognak történni:
  • Virtuális gép elindul, memória lefoglal (itt tegyük hozzá, hogy a virtuális gép annyi memóriát foglal csak le a fizikai memóriából, amit valóban használ, tehát nyugodtan deklarálhatunk akár 2GB memóriát is neki, ha az csak 400MB-t eszik, akkor annyi is lesz lefoglalva). Ha WinXP-t futtatok, az nem szokott megállni 600MB alatt, ezért tud akár két virtuális gép egymás mellett dolgozni, hiszen a fenti ábrából jól látszik, hogy kb. 1.8GB elérhető memóriával tudok gazdálkodni.
  • Mivel nincs elegendő free memória, a Windows eldobálja a cache tartalmát, a futó processek nem aktív memóriáját kitolja a host gép virtuális memóriájába, tehát diszkre.
  • Minden megy, mint a karikacsapás. És valóban, a gépek gyorsak, működnek.
  • És itt jön, az, ami az őrületbe kergetett. Amikor bezárom a virtuális gépet, a Windows észreveszi, hogy felszabadult egy rakás memória, ezért elkezdi visszatölteni a cache-elendő állományokat. Ez természetesen intenzív diszkművelettel jár, ami mint tudjuk az egyik legszűkebb keresztmetszet egy gép működésében. Ez a művelet azt okozta, hogy bár a virtuális gépem szaladt, a host rendszer a kilépés után legalább 1-2 percig használhatatlanság közelébe lassult, hiszen egyszerre cache-lt, egyszerre szedte elő a virtuális memóriába tárolt adatokat és egyszerre próbált valamilyen alkamazást betölteni, aminek egy darabkája sem volt már a cache-ben. Mindhárom eljárás diszket használt, eredmény: hátra- és/vagy kardbadőlés.
Elhatároztam, hogy véget vetek ennek az áldatlan állapotnak, és mivel a 8510w a HP egyik csúcs business gépének számított megjelenésekor, így támogatja, hogy mindkét bankban 4-4 GB SODIMM memória foglaljon helyet. (azt megemlíteném, hogy a leírás szerint nincs így, és a HP azóta sem javította - viszont a 8710w, ami ugyanez a hardware csak 17-es monitorral, ott már jól szerepelt és ez is volt a valószínű, valamint a fórumokban is ezt írták). Első kudarc: Magyarországon beszerezni egy 2 éves PC2-5300 200-PIN DDR2 667MHz memóriát, mint kiderült lehetetlen. Egyetlen helyen találtam, darabját kb. 40 ezer forintért, de ott sem volt raktáron. Megoldás: google: "Memory upgrade 8GB HP 8510w". Természetesen találtam az USA-ban, kis levelezés árán hajlandók voltak el is küldeni balkániába, miután elutaltam nekik az összeget, elküdltem a hitelkártya fotóját és kitöltöttem valami marhára szükséges dokumentumot kézzel és szkennelve elküldtem nekik. Lényegében megértem, balkánia az balkánia. Az ára a 2db 4GB modulnak szállítással együtt 31 ezer kemény magyar forint. 3 napon belül meg is érkezett, vám persze elkapta (mondjuk én is elkaptam volna, ha a cucc egy PRO MEMORY UPGRADE feliratú piros dobozban jön..) + 9 rugó kifizet, doboz feltép és meglepődés. A várt 667-es memória helyett 2 db 4GB-s 800-as memória érkezett. Nagylevegő, felkészülés a BIOS 3 csipogására, win7 boot failure-re, kékhalálra, lakástűzre. De nem. Notebook egyet csippan, Windows bootol (egy hangyányit sem gyorsabban, mint eddig), login, hurrá. Persze még ekkor is volt némi bizonytalanság, hogyha megnyitom a System abalkot, mit fogok találni, 4GB vagy 8GB? 8GB. Resource monitor képe alant:


Ez a restart utáni állapot, mint látható szinte minden megegyezik az előzőekkel, annyi különbséggel, hogy a free memória az 4GB felett van. Tapasztalatok:
  • a rendszer fikarcnyit sem gyorsabb, mint volt
  • a winyó viszont szinte már sohasem villog munka közben, hozzáteszem jelen pillanatban a cache-lt cuccok mérete 2.2GB, viszont nem nő.
  • a virtuális memóriát visszavettem az ajánlott 12GB!-ról 4GB-ra, hiszen most van hely a fizikai memóriában, használja azt
  • ami még várható: állítólag a standby time csökken, hiszen ezek a memóriák többet zabálnak - de ezt nem hiszem, valamint nem is szempont egy ilyen desktop jellemzőjű gépnél
Mára ennyi, lehet irigykedni :)

Update: Pár napos használat után a memória térkép a következőképpen néz ki:


A cached memória már 3.4 GB felé kanyarodik, kíváncsi vagyok, mikor éri el azt a szintet, amikor már nem nő tovább. Az általános tapasztalat viszont egyértelműen az, hogy a windows lényegesen kevesebbszer nyúl a merevlemezhez, napközben, nyitott alkalmazásokkal szinte sohasem villog a led. Végső konklúzióként: 8GB RAM az a memóriaméret, ahol a Windows "jól érzi magát" és ami egy általánosan zsúfolt fejlesztői gépbe napjainkban szükséges. Sajnos.

Update2:
Egy screenshot 3 egyidőben futó virtuális gépről: 2 winxp (az egyikben egy futó Borland Delphi, míg a másik egy support környezet) + 1 redhat ES. A processzor stabilan 25% környékén, az üres fizikai memória elhasználva, de a cache-lt memória még közel érintetlen. (azért a térképen látszik, hogy a Windows addig tölti a memóriát, amíg csak lehet, így egy hét után a cache-re foglalt memória több, mint 4GB!)



2010. május 19., szerda

32 bites ORACLE ODBC Win7 64 bit alatt

Ma megint sikerült belefutnom egy általam eddig ismeretlen dologba. A feladat egyszerű volt: egy lekérdezést behúzni Excelbe egy távoli ORACLE adatforrásból. Aki eddig elolvasta pár bejegyzésemet az tudhatja, aki nem, annak leírom: jelenleg egy Windows7 Professional 64 bites oprendszert nyúzok. Munkám során elég sokszor kell ORACLE adatbázishoz kapcsolódnom és ezt vagy PHP-ből vagy PLSQLDeveloper-ből teszem. Sajnos a PLSQLDev nem ette meg a 64 bites ORACLE 11g klienst, ezért abból egy 32 bites verzió van feltelepítve, amivel tökéletesen működik. Gondoltam így lesz ez az Excel-lel is. Hát nem. Amikor megpróbáltam ODBC DSN-t létrehozni a feltelepített ORACLE ODBC driverrel a Win7 közölte, hogy "The setup routines for the Oracle in OraClient11g_home1 ODBC driver could not be found. Please reinstall the driver." Ami azért fura, mert ezt választottam ki a listából. Gondoltam egyből, hogy 64 bit problémába ütköztem, ezért nekiláttam guglizni, ahol is két teljesen különböző megoldást találtam a problémára, jelesül:
Az első megoldást most nem fordítom, mert az nálam nem működött, hiszen az excel csak a 64 bites ODBC DSN-eket ajánlotta fel.

A második megoldás viszont meghozta a várt eredményt. A lényeg, hogy telepítsünk fel egy 64 bites instant klienst a 32 bites kliens mellé, ami pár egyszerű lépésből megtehető:

1. Töltsük le a 64 bites Basic és ODBC package-t az alábbi címről: http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winx64soft.html
2. Tömörítsük ki őket egy könyvtárba. Nálam a 32 bites kliens a C:\Databases\ORACLE\ base könyvtárban van (\product\...), így az instant klienst a c:\Databases\ORACLE\instantclient_11_2\ könyvtárba csomagoltam ki.
3. Parancssorból futtassuk adminisztrátorként (én nem így futattam, de így is működött) az odbc_install.exe-t, amely jó esetben közli, hogy sikerült feltelepülnie.
4. Az instant kliensnek meg kell adni a TNS_ADMIN környezeti változóban, hogy hol találja a tnsnames.ora file-t. Nálam ez a 32 bites kliens jól ismert NETWORK\ADMIN alkönyvtárában található.
5. Élvezni munkánk gyümölcsét, hiszen a 64 bites ODBC adminisztrátorban megjelenik egy új ODBC driver, ami már valóban működőképesnek látszik:


Ennyi.

2010. április 30., péntek

Skype anomália Windows 7-en

A Skype telepítése után észrevettem, hogy az eddigi Vistás működéstől eltérően, amikor bezárom a Skype ablakát, az valahogy nem igazán tűnik el a taskbar-ról. Mivel egy olyan alkalmazásról van szó, amit az ember valószínűleg folyamatosan futtat fölöttéb idegesítő, ha állandóan helyet foglal a taskbar-on (illetve Win7-ben már Smartbar-on). A normál működés eddig az volt, hogy ha a főablakot bezárjuk, akkor a skype eltűnik a taskbar-ról, viszont becsücsül a traybar-ra. Ezt az évek alatt igen-igen meg lehet szokni. A megoldást a kompatibilitási jellemzők szerkesztése jelenti, magyarul a Skype.exe-nek meg kell mondanunk, hogy az bizony ne a natív Win7 módban, hanem pl. Windows Vista módban fusson. Az eljárás a következő:
  • Ki kell lépni a Skype-ból, amit csak és kizárólag a traybar-on található ki ikon, jobb egérgomb, Skype bezárása menüvel lehet elérni, legalábbi én más megoldást nem találtam.
  • Előkeríteni a Skype.exe-t a sajátgépben (általában C:\Program Files (X86)\Skype\Phone\Skype.exe)
  • Jobb egérgomb, Tulajdonságok
  • Kompatibilitás fül
  • Pipa, hogy az alkalmazás kompatibilitási módban fusson és válasszuk alatta a Windows Vista SP2-t

 A skype újbóli elindításakor már jól, kell, hogy működjön!

2010. április 25., vasárnap

Samba megosztás elérése Windows 7 alól

A Windows 7 telepítése után első dolgom az lett volna, hogy az itthoni Linux szerveremen elérni a Samba megosztásokat, mert rengeteg telepítőm van ott tárolva. Címsorba beír a gép IP címe, semmi. Ping van, samba nincs. Volt már ilyen, hogy 2 évnyi folyamatos működés után leállt a samba, asszony gépe kinyit, samba van. Őrület kezd úrrá lenni rajtam, ezért Google.

A megoldás kézenfekvő: a Win7 alapvetően elvárja, hogy 128 bites titkosítással érje el a hálózati erőforrások egy részét, nem taglalom:

Control Panel - Administrative Tools - Local Security Policy
Local Policies - Security Options

Network security: LAN Manager authentication level
Send LM & NTLM responses

Minimum session security for NTLM SSP
Disable Require 128-bit encryption 

Ennyi. Fejből is mehetett volna...

Windows 7 telepítés

Úgy történt, hogy egyik reggel a notebook-omban a merevlemez nem pörgött föl. Most nem szeretném leírni azt a pszichés állapotot, amely úgy egy ezredmásodperc alatt kialakult bennem, de rég ijedtem meg ennyire. Becsületes redundáns adatmentő emberke vagyok, de mentésből visszahozni mindent az kb. olyan mint körömreszelővel fát vágni. Nem lehetetlen, de az ember kihagyja, ha lehet. Laptop vérmes ki-be kapcsolgatása meghozta a várt eredményt, merevlemez felpörög, hangja nincs, de az ijedtség maradt. Teljes merevelmez backup legyártása (természetesen és ezt mindenkinek tudom ajánlani - ilyenkor, ha külső winyóra mentünk NE írjuk felül az előzőt, nem tudhatjuk, hogy ez, az utolsó lefut-e normálisan, és nem dönti-e romba az előzőt.)

Elérkezettnek láttam az időt, egy új operációs rendszer telepítéséhez az alábbi okok miatt:
  • Vista 32 bit - nem látja a 4 GB memóriát, illetve látja, de csak 3 GB-ot hajlandó használni
  • csak ki kellene próbálni azt a Windows 7-et, mert ódákat zengenek róla és a munkatársaim lényegesen gyengébb hardverű gépein is vidáman cikáznak
  • kb. 2 tonnányi szoftver újratelepítésével járó élmény - priceless
Szóval Windows 7 Pro EN 64 bit rendelése. Igen rendelése, miután nem találtam Budapesten olyan boltot, ami emberi áron készleten tartana egy angol 64 bitest. Az angolhoz ragaszkodom, sajnos vannak olyan alkalmazásaim (köszi IBM), amik fumigálják a magyar verziót. Na meg meg is szoktam már, a magyarban néha úgy eltévedek, hogy az hihetetlen. (Ja és itt említeném meg azt, hogy van egy ismerősöm, aki ismeri azt az embert, aki a Cancel gombot "Mégse"-re fordította "Mégsem" helyett). Természetesen új merevlemezt is beszereztem, a régi 120 GB-os helyett egy izmosabb 320 GB-osat. (A vista 47 GB-t foglalt a régin, a többi cuccom további 40-et.)

Volt egy extrém elképzelésem: felrakom az új Windows-t az új winyóra, a régi merevlemezből csinálok egy virtuális gépet (a Vista már vhd-ba backupol) és amíg a több napos áttelepítés zajlik, mindent tudok használni a régi gépről, csak elindítom azt. Az elképzelés szép volt és megvalósíthatatlan. Kipróbáltam mindent. A vhd elkezdett boot-olni, de Vista megfagy. Ezt kipróbáltam Microsoft Virtual PC 2007, a Win7 beépített Virtual PC-jével, a Sun VirtualBox-ával. Bootoltam recovery CD-ről, Linux alól, csesztettem a MBR-t, de az a nyüves csak nem volt hajlandó elindulni.

Ha valaki már migrált úgy oprendszert, hogy a másik gép nem elérhető, csak, mint merevlemez, az tudja, hogy az minden, csak nem mókás. Első nekifutásként a következőt javaslom, ha sikerül felbootolni a régi merevlemezzel (nekem sikerült):
  • a registry-t kiexportálni egy szöveges file-ba. Nekem a következő méretű fileokat készítette:
    • HKEY_CURRENT_USER/Software - 28 MB
    • HKEY_CURRENT_USER - 135 MB
    • HKEY_LOCAL_MACHINE - 244 MB
  •  ha fut adatbáziskezelő, akkor full export file-ba
  • ne törölj semmit, hagyd úgy, ahogy van, nem tudhatod mire lesz szükséged
Én a migráció alatt kb. 15-ször nyitottam ki text editorban (Notepad++) a 28 MB-os registry backup-ot, ami még ezen a hardveren sem pár másodperc, viszont ezzel a módszerrel megúsztam a további bootolást a régi rendszerbe.

Kicsit féltem, hogy mind a migrációkor, mind a telepítésekkor össze fog akadni a 64 bites Win7 és a régi 32 bites alkalmazások, de ezen félelmem alaptalannak bizonyult. Minden korrekten futott és mindent sikerült áthoznom a régi gépről. Egy hasznos tanács, szinte minden szoftverre találtam megoldást némi google-zéssel. A legbonyolultabb természetesen az Outlook áthozása volt, mivel kb. 6 mailboxom van benne, RSS-ek, stb. Ami kellemes meglepetés volt az a Firefox. 1 perc alatt áthúztam plugin-estül, bookmarkostul, mindenestül a régi gépről és mindenféle probléma nélkül elindult a megszokott környezetem.

És itt hadd ejtsek szót a Windows 7-ről. Tényleg sokkal "simább", mint a Vista. Minden 64 bites drivert megtaláltam hozzá (HP 8510w), és most, hogy a szoftverek kb 80%-a fel van telepítve 1 perc alatt bootol. Azért volt vele egy-két trükk, de ezeket egy következő post-ban fogom megosztani.