Inlägg

Inlägg som RulerOfHeck har skrivit i forumet
Av RulerOfHeck

Spela i en virtuell maskin (Fortnite)

Hej.

Kort bakgrund: jag vill inte att MS äger min dator, så jag kör Linux Mint istället för Windows. Många spel fungerar; men inte Fortnite för den vill installera BattleEye och annat jobbigt. För att köra det i Linux, installerade jag VMware Player (som VMware Workstation men gratis), installerade en virtuell Windows 10 och kör från VM:en. Efter en hel del meckande så "fungerar" det tillräckligt för att spela med barnen.

Här beskriver jag hur jag fick det att fungera så bra som möjligt, kanske kan det vara till hjälp för någon annan som vill köra grafiska saker i en VM OBS: Dessa optimeringar är för att köra en virtuell dator optimalt, resten av systemet kommer att gå väldigt segt.

Hårdvara
CPU: AMD 5600G (6 kärnor, inbyggt grafikkort)
Minne: 32G DDR4 3600 CL18 (AMP-profil aktiverad)
Grafik: 8GB statisk allokering (av 32GB, så OS:et har 26GB kvar)

VM
Workstation 17 virtual machine
CPU: 5 kärnor
Minne: 17GB RAM
Nätverk: VMXNET3 (bridged)
Hårddisk: PVSCSI (ej valbart i Player, se nedan)
USB-kontroller: USB 2.0
Ljud: Auto
Grafik: 1st skärm, 4GB RAM

Optimeringar
Först: patcha, kör "disk cleanup" och radera alla gamla windows-installationsfiler.
Första optimeringen var att köra Windows 10 Debloater och radera allt fluff som MS tycker att man ska ha. Den avinstallerar till och med OneDrive \o/ https://github.com/Sycnex/Windows10Debloater

VMware-optimeringar, stäng VM:en först:
Tillagt i /etc/vmware/config:

prefvmx.minVmMemPct = "100" sched.mem.pshare.enable = "FALSE" mainMem.useNamedFile = "FALSE" prefvmx.useRecommendedLockedMemSize = "TRUE" mainMem.partialLazySave = "FALSE" mainMem.partialLazyRestore = "FALSE" priority.grabbed = "high" priority.ungrabbed = "normal"

"minVmMemPct" ser till all alla VM:ar får 100% av all minne, annars försöker Player sno tillbaka minne som den tycker inte behövs
"sched.mem.pshare.enable" förhindrar att VM:en delar minne (borde inte spela någon roll i Player som bara kan köra en VM)

Tillagt i VMX:filen:

svga.autodetect = "FALSE" svga.maxWidth = "1920" svga.maxHeight = "1080" svga.maxTextureAnisotropy = "0" svga.maxTextureSize = "8192" monitor.usecHostedVSMPMaxSkew = "0" mainmem.backing = "swap" sched.cpu.affinity="2,4,6,8,10" monitor_control.disable_mmu_largepages="TRUE" monitor.idleLoopSpinBeforeHalt="TRUE" monitor.idleLoopMinSpinUS="2000" mainMem.freeSpaceCheck = "FALSE"

Affinity: låser VM:ens 5 kärnor till specifika kärnor. De jag har valt är 5 kärnor (trådar egentligen) som ligger på separata fysisika kärnor.
Largepages: utan den så laggar VM:en otroligt mycket, när mycket 3D används
idleLoopSpin: om Player tycker att VM:en inte jobbar, så pausar den vCPU:n. Här specificeras att den ska vänta 2ms innan den pausar.
usecHostedVSMPMaxSkew: lite oklar, jag tror att den tvingar alla trådar att gå synkront. Den gav marginellt bättre prestanda i EZBENCH

För att minska CPU-belastningen marginellt, ändras också nätverkskortet till VMXNET. Ändra nätverkskortet genom att ändra virtualDev (det stod e1000 förut):

ethernet0.virtualDev = "vmxnet3"

Efter detta fungerar Fortnite ganska bra, med all grafik-fluff avstängt och 3D satt till 50%. "EZBENCH", som är ett gratis demo av Unreal 5-motorn (som Fortnite kör) ger 3460 poäng. Men spelet låser sig rejält med oregelbunda mellanrum. Jag gissar att det är när den läser in nya texturer från disk. Det blev bättre när jag bytte (virtuell) disk från NVME till PVSCSI. Windows var redan installerat, men så här bytte jag disk utan att ominstallera:

  1. Lägg till en ny disk, i Player-GUI:et, på 1gig eller så. OBS: välj typen "SCSI"

  2. Redigera VMX-filen, ändra "scsi0.virtualDev" till "pvscsi"

  3. Starta, så att Windows laddar drivrutinen för PVSCSI

  4. Stäng ner Windows-VM:en.

  5. Byt fil på scsi0:0 och nvme0:0

nvme0:0.fileName = "Windows 10 x64-0.vmdk" scsi0.virtualDev = "pvscsi" scsi0:0.fileName = "Windows 10 x64.vmdk"

Jag trodde att det skulle vara svårare att byta OS-disk, men Windows 10 bootade utan problem efter ändringen.

Resultat
Jag kan nu köra Fortnite med sämst grafik
"EZBENCH" gick från ca 2700 poäng utan optimeringar, till 3460.
Det uppstår fortfarande korta "lagg" eller hängningar när spelet läser in texturer, men det är spelbart.
Troligen skulle prestandan bli bättre med en snabbare CPU; jag vet inte hur VMware gör sin virtuella 3D, men jag gissar på att den är helt CPU-baserad.

Av RulerOfHeck

(går det inte att redigera kommentarer?)
Jag fick tag på en annan igår kväll

Av RulerOfHeck

Hej. 500kr tycker jag att den är värd. Om du vill så kan jag köpa den nu ikväll?

Av RulerOfHeck

@Plenum: Sorry såg det först nu. Har svarat

Av RulerOfHeck

500kr för den är taget, kan hämta imorgon eller fredag i stockholm

Av RulerOfHeck

Hej.

500kr för nätagget, kan hämta i stockholm imorgon, gärna förmiddag.

Skickar pm med mobilnummer om du är intresserad.

Av RulerOfHeck

Kör en "export system logs" från vsphere client och kolla. Posta gärna sista raderna i vmkwarning.log här

Skickades från m.sweclockers.com

Av RulerOfHeck
Skrivet av Philippk:

Hej, nu finns det troligtvis en liknande tråd, men dom jag har hittat är några år gamla

Det jag är ute efter är en server, jag tänkte eventuellt köra 3-4 VM hostar på den. 1 SCOM/SCCM maskin med SQL Express på. En Win2012R2 för test, samt en NAS liknande med Nas4free eller Xpen.

Nu har jag sneglat på Avoton baserad dator, dock märker jag direkt att detta är inget för mig som vill ha flera olika VM:ar. Därmed frågar jag er här på Swec som eventuellt vet mer!

Vill helst köra med en låg TPD Xeon processor, ECC (ECC minnen har jag redan hemma) Eventuellt en SuperMicro mobo? Diskar har jag också. Men inget raid-kontroller kort samt vill jag ha trunk på nätverks kortet!

Detta må vara mina mål och önskemål men ifall ni har synpunkter så får ni mer än väl flika in. Men behåll tråden gärna relativt ren ifrån onödiga inlägg!

Glömde lägga till : Behöver ej vara Rackchassi, då jag inte har den ytan, utan något tower-chassi

Ska den vara liten så är det enklast med en HP microserver gen8, räcker inte processorn går den att byta till snabbare xeon.

Angående minnen; kolla vad du har och att de passar, är.de från en "vanlig" server är det säker "registered" ecc-ram, det här jag inte sett något budgetkort som klarar.

I virtuella miljöer är det oftast diskprestandan som först tar slut, satsa på antingen ett raidkort med batteribackat minne, eller en ssd som cache. System center-produkterna är duktigt resurskrävande på minne och disk så med en budgetraid kommer det kännas segt.

Med vsphere behöver du inte skapa en trunk på något avancerat sätt, esx balacerar det själv på ett snyggt sätt. Det behövs inget superdyrt nätverkskort även om du vill köra lacp, eftersom esx fixar det utan att blanda in drivrutinerna.

Skickades från m.sweclockers.com

Av RulerOfHeck

pciHole.start är kanske svaret på probemet. Jag kunde inte köra intensity 13 på 280x för då blådumpade windows direkt. i12 eller lägre gick bra men det är ju segt.

Jag misstänker att cgminer hittar vmware-grafiken först och får damp, men jag lyckades inte tvinga den till det andra.

Testade bara senaste hw-version. Hade inte tid/ork att labba mer :/

Av RulerOfHeck

Hej. Har själv testat detta, på en Proliant ML350p Gen8 och ESXi 5.5, med ett R9 280x och en Win7 som gäst

1. det går bara att tilldela grafikdelen av kortet, försökte jag lägga till bägge pcie-device (den andra är ljud) så gick inte gästen att starta
2. det gick bara att tilldela 2816MB RAM, mer minne gör att den inte går att starta (minns inte felmeddelandet)
3. Catalyst Control Center går bara att starta på konsol, inte via RDP
4. för att cgminer skulle hitta GPU:n var jag tvungen att ta bort vmware-grafiken (=ingen konsol).
5. när det väl fungerade så gav den ~260KH/s scrypt som mest - den ska klara >700KH/s

Det tog många vändor med olika versioner av drivrutiner men sedan gav jag upp. Har dock inte provat med en "dummy-plug".

Av RulerOfHeck

Tänkte tillägga att du säkert visst har publika adresser. Men de är IPv6

Hittade inte mer information om det, däremot är det väldigt lustigt att skriva i google "site:bahnhof.se ipv6". Verkar som om många av deras kunder har en DLINK med admin-sidan öppet utåt. Någon hade sin filserver öppet utåt, utan inloggning

Av RulerOfHeck

Det brukar gå att installera utan HPs skiva. Jag brukar göra det och sedan köra skivan med drivrutiner efteråt.

Gen8 DL-servrarna har nu Intelligent Provisioning istället för SmartStart-skivor. Välj att boota på den vid uppstart - den kan, om du vill, hämta senast version av alla drivrutiner från Internet vid installation. Men om den blådumpar skulle jag börja med en diagnostikkörning.

Är resten av hårdvaran HP?

Skickades från m.sweclockers.com

Av RulerOfHeck

För Cat7 är det tänkt att använda andra don, t.ex. http://en.wikipedia.org/wiki/GG45

Av RulerOfHeck

Behöver du verkligen 9TB, räcker det inte med en raid-10 på 6?
Du skulle kunna mappa diskarna en och en till en virtuell server som kör någon raid eller ZFS och därefter presentera det som ett NFS-store (som HP:s P4000 VSA) - men betänk att processorn i den där är rätt seg, tror prestandan blir lidande. För DNS/DHCP räcker den gott men mycket IOPS kan bli svårt om du kör så många lager av virtualisering.

Absolut kan du använda en virtuell router istället för en hemmarouter. Kan kanske bli problem med fördröjda paket, eftersom processorn delas med andra servrar. N54L har bara två kärnor.

Av RulerOfHeck
Skrivet av anon169198:

Tjena! Installerade Pfsense förra veckan och jag har fått det att funka, eftersom jag har endast 2bit/s via ADSL så blir det väldigt svårt att sitta och spela när resten av familjen använder internet, dvs pingen drar iväg
Det jag har läst om att man kan prioritera olika sorts trafik osv, men hur ska jag göra så att det funkar? Jag har gjort Wizard grejen men fortfarande så prioriteras inte trafiken rätt.

Vad är det jag ska göra för att få ALL min speltrafik gå före allt annat? oavsett om resten av familjen sitter på youtube eller laddar ner diverse saker så ska jag ha samma ping som om dom inte skulle göra nåt.

Sen undrar jag också om det finns andra bra inställningar som man kan göra när man har såpass dålig uppkoppling.

Mvh

Du kan inte göra så mycket åt inkommande trafik, men jag antar att din koppling är asymmetrisk, så att stöka med köerna på utgående trafik borde ge en del.

Med pf har du ALTQ, som du kan använda för prioritering. Med en högre prio på speltrafik kommer alltid dina paket gå före.

http://www.openbsd.org/faq/pf/queueing.html

Jag har sett tidigare på några ställen att med en asymmetrisk lina är det fördelaktigt att prioritera ACK-paketen, så de inte köas upp efter data-paket.

Skickades från m.sweclockers.com

Av RulerOfHeck
Skrivet av Palme_570:

Håller, med MEN vad fan menar du med "Med färdiga servrar vinner du: möjlighet till fjärrstyrning" !?

HP:s ILO, Dells DRAC och HP Microservers RAC. Stänga av/slå på server utan att fysiskt peta på den (går att göra via IPMI) men framför allt - fjärrstyra konsolen och montera ISO-filer, istället för att installera en CD-ROM som används ungefär 1 gång per år, och koppla in tangentbord/skärm. Jag har blivit så bortskämd med det på jobbet så jag köpte till RAC till min HP Microserver för 700kr.

IPMI behövs om man vill se om det år något hårdvarufel, i mitt exempel på RAM, innan servern krashar. Det verkar inte gå annars, iaf inte med mitt ASUS-kort som i övrigt stödjs bra av "aibs"-drivrutinen i FreeBSD. HP Microserver:ns RAC har IPMI där det går att läsa hårdvaruloggen, om minnet går sönder.

Av RulerOfHeck

Börja med att bestämma vad du prioriterar mest. Färdiga servrar är oftast stora, ska du ha den hemma kan det bli ett problem. HP Microserver är strömsnål, liten och bra men de innan Gen8 har väldigt klen processor. Gen8 har bättre plus att du kan byta den till en bättre - men då blir det dyrt.

Hur viktigt är det att den fungerar klockrent jämt? ECC-ram är att rekommendera, eftersom enligt Google har ett ram-minne ca 8% chans/per år att tappa en bit, vilket kan leda till korrupt data eller krasher. En UPS är bra för att förhindra att strömavbrott, strömspikar eller liknande blir ett problem.

Med färdiga servrar vinner du: bättre övervakning av temperatur, möjlighet till fjärrstyrning, mer lättjobbat chassi. Dyrare -> bättre.
Hemmabyggen blir (oftast) billigare men det kan vara svårt att, till exempel, övervaka om dina fina ECC-minnen korrigerar fel... vilket jag precis upptäckt med mitt ASUS-moderkort med ECC-ram. Serverkort har IPMI där sådant finns.

Sedan spelar operativsystemet roll. Ska du köra ESXi bör du kolla att servern finns med på VMwares lista, bygger du eget bör kolla om någon annan har lyckats få det att fungera med det moderkort/kontrollerkort du vill använda. Använder du *NIX kan du kolla vilka komponenter som ingår och vilket stöd de har.

Mycket att tänkta på - eller så köper du typ en HP ML350p Gen8 och ser glad ut

Av RulerOfHeck

Att PCIe-bussen är någon (större) begränsning inte riktigt sant. Man kommer långt på en x4 om det är PCIe 3.0

Exempel: Crysis Warhead i fullhd tappar 1,3FPS på en x8 port istället för x16, 6FPS på en x4
http://www.behardware.com/articles/836-3/the-impact-of-pci-ex...

Finns ju rätt tjocka MB nu, ta den här så kan du kötta in 4st grafikkort i full fart: 3st pcie 3.0 och ett 16x pcie 2.0 (motsvarar 8x pcie3.0)
http://www.asus.com/Motherboards/SABERTOOTH_990FXGEN3_R20/#sp...

Sen kan datorn extraknäcka som hårfön

Av RulerOfHeck
Skrivet av GladiatorN:

Min fråga är slutligen, om jag drar en cat5e ifrån 24-portars switchen till en 8-portars switch, tar den upp en av ipadresserna eller relayar den ifrån den första bara och delar ut?.

Switchen jobbar på lager två och ipadresser på lager tre, enligt OSI-modellen. Så adresserna påverkas inte.

Om inte de är administrerbara switchar så att de hämtar var sin adress med dhcp. I så fall "tappar" du adresser. Om de stödjer ipv6 kan du ändra så de använder det enbart, så slipper du förbruka v4-adresser på switcharna - glöm inte att skriva upp v6-adresserna först, det vill säga adresserna som börjar på "fe80:"

Skickades från m.sweclockers.com

Av RulerOfHeck

Freenas använder NUTS, här är listan över hur bra olika modeller stöds: http://www.networkupstools.org/stable-hcl.html

Eaton stödjer dem aktivt på flera sätt så därför rekommenderar jag deras produkter. De bättre modellerna jag tittat på kostar samma som APC, som aktivt motverkar all typ av integration med andra agenter än deras egna.