Edited Why I shouldn’t write while dealing with a fever… under discussion.

I fix my CPU miner to produce 1740 kH/s instead of 990 kH/s with a few check boxes.

So I am mining some coinage in the Cryptocurrency world. Mainly because the miners make GREAT performance testing resources. Nothing like maxing out CPU or GPU or both whenever you need it (and making a little speculative coin on the side).

But, Windows the mining program was doing me wrong. By default, the thread scheduler thing sets a new process to use ALL cores available and apparently go in sequence. This is ‘ok’ but I find I get MUCH better results when I don’t let the thread scheduler miner handle my CPU-based miner threads.

Case in point:

miner going slow

Note CPU #6. Why is it 70,000 hashes/second faster than it’s peers? Because it’s the only miner thread that doesn’t have it’s partner CPU also running at 100%.

Let’s look at this in Task Manager, this is what it looks like:

task manager core count.png

So see the pairings? CPU 0/1, CPU 2/3, CPU 4/5, CPU 6/idle.

That’s why CPU 6 can run faster. It’s hyper-threaded pair isn’t mussing it up. Plus it perhaps has better caching since it isn’t using pipeline cache for another busy thread (conjecture).

Anyway, changing this is trivial. I found my miner in task manager and right clicked it and selected Processor affinity.

proc affinity

See how it’s spread out on all CPUs? Yeah we’re going to fix that.

better proc affinity.png

Now I’m using every odd CPU, and every even CPU is not used by my miner process. Fair enough. I am only allocating 7 miner threads by the way, so we’re giving the miner an extra thread. Who cares. It might not use it. Don’t care.

Hit ok and see the results:

change.png

See, CPU 0, 2, 4, 6 are falling. The odds are all increasing.

The results? Pretty damn good. I went from 990 kH/s on 7 mining threads to 1746 kH/s.

I’ll take it.faster.png

All this because Windows thread scheduling leaves something to be desired…since like, a while ago. But that’s another story…

Carl schooled me.

If you run Plex Media Server, delete your old installers, it doesn’t (yet).

So I noted the other day my Plex server, which I adore BTW, was running a tad shy on disk space. That’s cool, but why.

So just a little poking around revealed that Plex Media Server has been hoarding disk space by keeping all previous downloads of the installer/updater on disk. Not really sure why. But I assure you the likelihood of me needing an installer for that from 2015 is pretty low…

So I deleted them all and got back my 6GB of space.

The path is the path of the user logged in while Plex is running, in my case, me:

\\AppData\Local\Plex Media Server\Updates

plexupdates.png

Ideally it’ll look like this, squeaky clean.

Mine had about 27 folders in it each with files, stuff, etc. Flotsam and jetsam of the interwebs.

so how I got there?

Windows start button, type %APPDATA% and hit enter

appdata

This puts us in USER\AppData\Roaming. We don’t want to be there. Click the UP arrow next to “This PC” and double-click Local, Plex Media Server, Updates.

Delete to your hearts content.

This post brought to you by the letter Q and the number 5.

If you think they should address this please up-vote the feature request here (requires a PlexPass, which you should ideally get if you use Plex).:

https://forums.plex.tv/discussion/287657/delete-past-updates-out-of-appdata#latest

Peace!

 

 

How to mine Vertcoin (VTC)

So another Cryptocurrency has piqued my interest.

Vertcoincompariso.jpg

Vertcoin is very similar to Bitcoin and Litecoin but is ASIC resistant. I looked at the miner Vertcoin provides on GitHub and found it to have requirements that a normal Windows user could consider to be complicated.

So I wrote this guide cause it’s what I did and it works pretty well.

My system is an Nvidia GPU-based system, meaning the graphics card is made by Nvidia. Specifically I have a GTX 1070. This should work with most modern GPUs made by Nvidia that have CUDA cores in them (and the correct drivers installed, available here).

A quality wallet for VTC can be found here by the way.

Step by Step instructions

Step 1: Download and install 7zip from 7zip.org.

Step 2: Download and the latest CCMINER release from Tpruvot’s github repository. If your Windows is 64 bit, download the x64 version. If your Windows is 32 bit, download the x86 version. You can find your bit-ness by following this article.

Step 3: Once it is downloaded, right click the .7z file and select properties. Then 1) check the box for “unblock” and 2) click Ok.

unblock.jpg

Step 4: Right click the 7z you just Unblocked and select 7-Zip and Extract files…

uncompress.png

Step 5: Pick a place to run your program. I’m lazy so I pick my Desktop. Then I click OK a couple times.

desktop.png

Step 5a: If at this point your PC’s anti-virus is alerting you, uninstall it and get a quality AV solution.

Step 6:  Rename one of the .bat files already present to vert.bat. Pick one, doesn’t matter.

So far so good, this will prompt for a file name, simply type vert.bat and then hit the del key a couple times to remove the .txt ending.

vert.png

You then get a prompt warning you of impending doom (a rename dialog box). Click Ok.

rename.png

Step 7: Right click/edit the vert.bat file.

replace the 1st line with the following:

ccminer-x64 -a lyra2v2 -o stratum+tcp://coinotron.com:3340 -u jeffstokes72.juan -p sanchez

If you were 32 bit instead make the command

ccminer -a lyra2v2 -o stratum+tcp://coinotron.com:3340 -u jeffstokes72.juan -p sanchez

Step 8: Go register at https://coinotron.com/app?action=register. In the vert.bat replace the ‘jeffstokes72.juan’ with your username.worker and the ‘sanchez’ with your password for your worker.

If you don’t do this you’ll be mining for my worker id and giving me free credit for VTC coins.

The Coinotron help site has an example of how it should look too.

Step 9: double click the vert.bat file. If you’ve configured it properly and your system works with this miner, then you’ll see mining happening. On my GTX 1070 I am getting about 35 million hashes/sec. I’m making 2-3 coins a day.

Q: What do I do if this doesn’t work? Can you help me?

A: No. Not really. I have a day job. If you can’t get this guide to work for you, maybe go buy some VTC for cash instead. Sorry.

 

Q: I want to send you VTC as thanks!

A: cool my receive addresses are:

VTC –  VgvHkaGAFtgR5UQa8ao8PrNNNvoFDrnXZY

BTC – 16V5ccxZ3KUt9DdpeLtfKmrTk2Uaf4gCBX

ETH – 0x31F8f3f1deD3297b4285f2650A925c82ca11522D

 

For more info hit up https://vertcoin.org/blog/

 

Outlook.com BETA kicks tail!

Dude here. I give credit where credit is due. Today I was offered a preview/beta version of Outlook.com to use. And. It’s awesome.

beta

Dude here. I give credit where credit is due. Today I was offered a preview/beta version of Outlook.com to use. And. It’s awesome.

Frankly, I was migrating off Outlook.com’s property due to bloat. My Google Chrome browser would be over a GB just for the worker of Outlook.com given enough time. 1GB of RAM used for a web-based email client. Gmail is the same basically, so not a bash on MSFT. The one reason that really got me was Outlook.com took so long to receive mails sent to me. Some extra filtering to keep me safe maybe. Dunno.

ANYWAY, check this out.

Fresh browser, old version of Outlook.com:

old

 

New version:

new.jpg

I’m keeping an eye on it. Will report after a day of use. But HOLY MOLY it’s faster, sleeker, and uses less resources. Good job Microsoft.

The crucible – My first training week as a Senior Support Escalation Engineer at Microsoft Charlotte.

Anyway I wrote this partly for me to remember. More than anything really. The mind, has a way of filing things off in those weak brain cells that slip and falls destroy it seems. So this is sort of a log. Week 1 at Microsoft.


In my face-to-face interview with Microsoft, I had a great time (after my horrible experience with Google in Mountain View, on which I may write someday). In the manager portion, I was teased on my 4 page resume with jobs (not contracts) ranging from 6 to 18 months a piece for the last 12 years or so. “Why should we hire you knowing you don’t stay places for long?” – “Those jobs were too easy. I fixed everything, got bored, left. I hope this is different.”

But it was the technical portion that I really remember. I LOVED it. At ING, where I was at the time, I was basically the go-to engineer for weird stuff.

  • <redacted cause I sound pompous>

Someday I swear I’ll get a degree. Somewhere. Someday.

Anyway the guy who intervised me on Exchange storage/DB was a contributor to the white paper I read on Exchange 2003 storage tuning I used at ING to fix our issues. The client connectivity person I had read their content on for Exchange 2000 while at a previous job. Connectors person was an unknown, and an unknown part of Exchange to me really (I hadn’t touched connectivity to other systems at ING sadly).

So Nick, the storage tuning guy, started with a basic, level 100 question. I was nervous though, so I mistook it as a real question out of the gate. He asked, “What is the impact of adding the /3GB switch to the boot.ini in Windows 2003?”

“Obviously this was a trick question”, I thought to myself. Clearly they are looking for more than “it changes the kernel memory of Windows so Exchange runs better” or some such nonsense…

I was stopped maybe 10 minutes into my answer to question #1 in the tech panel. I thought I had done something wrong…

I was on the conference room whiteboard, drawing out the internal data structure of Page Table Entry and why when you switch /3GB in boot.ini, the architecture changes on what it holds where. Something like this I guess:

pte

And CPU architecture and and advent of x64 support and what /PAE and DEP did (because really, how can one discuss boot.ini and 3GB and NOT talk DEP and PAE…. and how AWE worked with SQL and and and …


So my start date was an unorthodox December 31st, 2007. New Years Eve for most of the world. I drove from Atlanta to Charlotte, filled out some paperwork and sat around on my first day. The place was pretty empty. I had New Years Day off as vacation. So I drove back to Atlanta at the end of the work day and had time with my family. Came back to learn that same week.

They were not prepared to train a new hire. Generally folks came in batches. And until recently, Escalation Engineers (EEs are they are known internally) are promoted from within rather than outside industry hires with no internal knowledge of a product. Combine these two and it is a somewhat unique scenario. My mentor, Nick Basile, lined up a week of training for me in January.  To say is was deep training was an understatement.

My first day, I learned internal database mechanics from him.

The differences of Jet Blue and Jet Red databases. Why Jet Blue was used at Microsoft so predominately (think Active Directory, Exchange, Branch Cache, Windows Search). How it worked. How each 4KB page was handled How B+ tree worked under the hood. How power failure was handled, what was the impact of antivirus filter drivers on saying “hey that 4KB write is virus activity” or “hey that .log file write is virus activity”.

Things like that.

Another day with Tim McMichael, aka Mr Cluster, who was not a Microsoft Certified Master of Exchange, but helped make the questions for the high availability portion of the exam just the same..

David Goldman spoke to me for 4 hours or so on the mechanics of OAB distribution and creation. David was a debugging engineer who later went on to help build out/support o365 as I recall.

Amy Mack mentored me on Netmon interpretation. Amy passed away recently. Survived by her husband, Austin Mack, who is one of the brightest engineers I know for troubleshooting/break fix. Hands down.

I wish I remembered the rest of the names. I see faces. But I can’t connect them anymore.

Anyway,

It was a humbling experience. A week of rigor with people who were essentially at the level 400/legendary skill level in their craft. It took me some time to regain composure from that experience. To, as I liked to call it, wear the mantle of Microsoft. The person who hops on a conference call with 10-15 people and someone says “Microsoft has joined the call, they are going to walk us through the solution”.

So much knowledge, in the halls of the Microsoft Charlotte office at that time.

My first ticket was a SEV-A. Colossal world-wide corporation was down. No email. No one was available to pick it up. So I figured, sink/swim, feet first, I was ready.

Dude, where’s my RAM? (aka ShellExperienceHost steals my stuff)

So, there I was at my computer one night and I realized “wow, this thing is slow, wth”. No really, that’s what happened, scouts honor.

So I fired up TaskManager, my favorite level 1 triage tool.

taskman.png

And ZOINKS yo! (as Jay from Jay and Silent Bob fame is wont to say)

1.8GB of RAM. Not, like, stuff anywhere, but code in my RAM. Now granted, I have 24GB installed, but still. Why do bro?

So why is this happening? Let us discover why, on a vision quest-esque journey through Windows….

To find out what is going on, we need the PID, luckily for us, it’s right in front of us;

pid.png

Ok, so what are we going to do with that?

rammap1.png

We are going to check out the process and see what is going on here…

With VMMAP. Why? Dunno. Lets see.

heap.png

Ok so we attached VMMAP to the process, we see it’s all heap. The reason I did this, really, is because I had a pseudo-morbid curiosity that it might be META, but it’s heap. Okie, so spewage. Swell. Why? Dunno.

In comes Debug Diag 2.2

dd1.pngWhy yes Mr DebugDiag2.2, we want to analyze, (I hit cancel here btw)

dd2.png

Find the PID, create a dump for later perusal, why not.

dd3.png

Yay!

For fun I check strings on the process…w…t…h..strings.png

Apparently MeowMix took over my process….

whatevar.png

I right click, and tell DebugDiag to create a series of dumps on the process, start with a full, end with a full, make 8 dumps, 10 seconds apart. Ok? Ok!

working.png

Now we’re cookin with gas!

proof.png

Hey look, dumpage!

analysis.png

Now I fire up the easy button. Do you have an easy button? Mine is named “DebugDiag 2 Analysis”.

anal1.png

I check “PerfAnalysis” cause it’s a series of dumps, and leaktrack would not insert so it’s not present to track on.

anal2.png

Add the dumps, and start (assuming you have a valid symbol path, I do).

Ok, so why are we taking up 1.8 GB of ram for a suspended process in Windows?

I hate to say it, I really do. Cause I like these guys, but it looks like it might be Nvidia….

derp.png

DebugDiag’s report is a clarion call from on high. Update yo drivers sir!

Someone already bitched, and they bitched August 1st.

NVIDIA Drivers hanging Outlook

Someone did my work for me. They have the same stacks complaining, just different Thunks. Thunk!

You ain’t thunk, you ain’t nothin!

Anyway I was on 384.94 courtesy of WU, 385.28 released 8/14. A little behind. But still my problem persists….after updating.

 

Sigh… maybe someday I can has my RAM back?

nvwgf2umx_cfg!NVAPI_Thunk+9ce75
nvwgf2umx_cfg!NVAPI_Thunk+d001a
nvwgf2umx_cfg!NVAPI_Thunk+7b736d

kinda reads like a haiku….a haiku of eating my ram….or maybe Windows needs 2GB now to display the shell? The world may never know.

This post brought to you by the gram positive cocci that put me in the hospital last week.

Samsung 960 Pro NVMe SSD speeds are crazy

Update: post second rebuild on 10…the issue is gone. Beta bits to blame? I’m trying to reproduce to get to the bottom of it. No one should have a drive like this and be down 1GB/s in read speed…

 

So I installed a new Samsung 960 Pro NVMe SSD in my Asus Prime x370 Pro motherboard

I was on the Windows 10 Insider Preview. It was ‘ok’. Used the Samsung Magician software, followed all the rules, rah rah.

samsung mag

Now, Samsung publishes the speed rating for that drive is

Sequential Read Speed:  Max 3,500 MB/sec

Sequential Write Speed:  Max 2,100 MB/sec

 

I mean, what I had was fast. So I didn’t think anything of it. Right?

I had issues with the Insider Preview and rebuilt from scratch. Didn’t have time to debug it, and since I am no longer a Microsoft employee, I don’t have access to private symbols anyway, nor the ability to file a bug. So meh.

Back to 10 Pro. I rebuilt. Before I installed Samsung Magician and the “right” drivers, I did a speed test using Crystal Disk Mark. (Yes, I know it isn’t a diskspd test, I just wanted a quick check).

The results…using stock Windows 10 Pro drivers from 1703 are, shall we say, impressive.

vroom

Now I could install Samsung Magician and retest. But then it’d modify the driver and screw this up for me most likely. So, no thanks. I’ll keep my advertised speeds thank you very much.

Good job to Microsoft, hats off for a stock driver that kicks butt!

default driver

Till next time, the dude does in fact abide, albeit somewhat speedily…