I’m running on a brand new Yoga 730 15IKB, with NVMe SSD. It’s not that - the build process just stalls for 20 seconds at a time at various stages during rebuilds. This VM idea is sort cool (rebuilds are so much faster) but now I’m having nightmares with disappearing .git files, and endless permission problems. I’m not sure this has at all been worth it…
Thoughts on running Adobe on Ubuntu - you can use a VM (likely slow) or try wine. I used to run wine with older versions of the Adobe/Macromedia stuff somewhat successfully. I may set up a dual boot partition scheme, and run Windows in a VM from Ubuntu if I need it (and vise versa) eventually.
Every time I see a thread like this, I think that maybe we need a page on the Meteor guide about how to make Meteor fast (aka acceptably slow) on Windows
For app sizes I normally deal with I don’t have serious issues, but enough people have that some guidance on setting up a VM or other options would be nice
If anyone ends up using Virtualbox, make sure not to use the built-in shared folder functionality. The IO performance is atrocious. NFS, Samba, or rsync are all much better choices.
I’m using samba, but I’m not sure how to solve the file permissions issues. If I add files from windows over smb, Linux can’t access it, if I create a file in Linux, I can’t modify it in Windows over the network.
I just got a new error, along with continued extreme slowness. Basically, it kept getting slower and slower, then when I tried to ctrl+c - I got a GC error - something to do with wasm. I don’t know if the memory leak is somewhere in my code in meteor (I’m not doing anything with wasm on the server, at least not that I’m aware of, maybe some library).
Can application memory leaks have an impact on rebuild times in this way, or does that hint at a meteor problem? I can imagine an application memory leak may cause that big stall after build, before the server become responsive again - GC on application code. I’ll see about dumping some memory profiles.
I’m going to fire this all up on a mac I recently borrowed (or try the VM thing again), and see if things behave any differently on there. I tried disabling almost all the server side stuff I have going, and that didn’t have the positive impact I was hoping for.
I asked @jlukic & apparently if you use Samba the right way of doing it is to use smbpasswd and authenticate, rather than using Samba with an anonymous user.
IMO the way to solve meteor rebuild issues is just to put an Optane 900p as your main HD and a reasonably fast CPU.
Generally, enable SMB3 and always use authed login. From windows you may have to type username as “\VM-Name/Username” instead of “Username” (but maybe not). You’ll need to setup a password with smbpasswd instead of just using your linux password.
I use this gist to remind me of the salient issues when setting up new machines
These are great tips. Thanks so much, I’ll let you know how it goes!
For what it’s worth, I’m on a newish Yoga 730 15IKB laptop, with NVMe SSD, i7 8550U - and I disabled the horrendous Vantage “Intelligent Cooling” solution, which really just slows the CPU down to 400Mhz under load - people have literally returned these units over that setting (seemingly, without every figuring out why it did slowed down like that - it was just this ill-considered setting)… Anyway, it shouldn’t be this slow (whatever it is, I blame Windows), and it’s really not at all this slow under Ubuntu in a VM.
After being in a similar position and having to move away from dual boot because of driver problems on linux, I just gave this tutorial a chance. https://nickjanetakis.com/blog/using-wsl-and-mobaxterm-to-create-a-linux-dev-environment-on-windows
Turns out it was a life saver if you are using meteor 1.8 (previous versions were giving me errors starting mongo). Basically, after following it, I was able to run meteor and most of the IDEs (VScode, webstorm, etc) from inside WSL (windows subsystem for linux) and see everything on Windows through an automatic X11 server created with mobaxterm. I think rebuilds times are not as fast as with a native ubuntu distro, but they are pretty close, and much better than with the Chocolatery installation.
If you give it a try and have problems I might be able to help.
Also, something I found useful from that post is a comment saying what you need to disable on windows defender to make it even faster
Also make sure to add C:\Users<username>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_xxxxxxxxxxxxxxx to the Windows Defender exclusions list (or that of any other virus scanner you have installed) as per https://medium.com/@leandrw…
I tested this on a Python/node compile job 2 time with the exclusion off and 2 with it on. It took ~4m without the exclusion and ~1m40s with it.
A few things that come to my mind about it not working
What version of Windows 10 are you using? (I tested everything with 1809)
What distro and distro version have you installed? ( I tested with latest ubuntu 18 from microssoft store and did a apt-get to update after install)
What npm dependencies have you installed?
(I’m using "@babel/runtime": "^7.1.2", "meteor-node-stubs":"^0.4.1", "core-js":"^2.5.7", "babel-runtime": "^6.26.0", "bcrypt": "^3.0.0" as core dependencies)
I have pretty much the same stuff as you. 1803, latest version of meteor (1.8), and the latest version of everything in my npm list (I use npm-check-updates to keep it up to date). I haven’t done apt-get update in a while (though I only set up Ubuntu from the store like a month ago). I’ll try that.
Update: Nope, still don’t work. It does other weird things too - like it tells me “npm” is not a meteor command the first time I run things. I can get i to accept npm eventually, but then when it installs it behaves differently from when I run it as root.
I don’t know if this will be of use for you, but I installed Fedora+KDE, VMWare Player + Win7 for the windows apps (photoshop and such) some years ago and never looked back. All works like a charm, I could even run demanding games if i wanted on my VM (I tried this to test how good VMW was when using hardware acceleration ), maybe you could give this a try, I use VM-Win7 constantly due to my job, almost 4 years of full work and the system (Fedora and VM-Win7) runs like butter.
Believe me, I tried the other way around, it will work at the start but will slowly become hell and things will start to fail.
Next time I get a slow period I’m going to go Linux - not sure which distro, probably Ubuntu if I can make it less ugly, and do Windows in the VM like you suggest for Photoshop/InDesign and other “legacy” apps.
For me the only thing to do UI wise in Ubuntu has been to move the left panel to bottom (can easily be done both in 16.04 with Unity and 18.04 with Gnome) and make it a bit smaller. Will be very familiar to anyone coming from windows and not much effort required.
Yeah, I did that in my VM. There’s even a way to get it to properly float in the middle. The top bar on Ubuntu could use a bit of work too - like, why is that even there? It just uses up some screen space. And the default color scheme is just a bit too orange.
I’m sure I can make it work!
I’m really curious about why this is so slow on Windows though - I mean, it’s a full 20 seconds between when the CLI says “Client modified – refreshing” and the server becomes responsive again. Why? If the server rebuilds (which is the real slow part of Meteor on Windows) it seems to stall in a similar completely silent way at various stages. My suspicion is that something pretty basic is happening here, I just don’t know where to start to debug/profile it.
Didn’t there used to be a way to run Ubuntu (from boot) from an image inside an NTFS drive? Is that still supported? I mean, Meteor is just unusably slow on Windows…
Update: I got file sharing to work correctly and solved the can’t resize Ubuntu problem. I think the problem as that I had installed both open-vm-tools and the tools installed with VMWare’s menu item. Once I got rid of open-vm-tools things started to work correctly. Hopefully this holds up - rebuild/refresh times are down from roughly a minute and a half (38 seconds rebuild, almost 50 seconds before the server becomes responsive at last check with a stop watch), to less than 10 seconds! I’ll take it!
My home’s PC is a windows 10 machine and I have the same issues with Meteor as well, as sometimes it takes a lot of ram for no reason, can’t access external mongodb addresses (despite my firewall being OK with it), and some other odd problems, not being able to compile for android isn’t good for me either, I just use my Raspberry Pi as a development machine, and while it takes a while to compile, it works well, not something I really recomend, but it’s a cheap workaround, untill I backup everything on my PC and make it work like my job’s laptop do.
For the record, if you want to use Ubuntu but want something that looks more like windows, you can also use Kubuntu (ubuntu + KDE), there are more flavors here .
If you want to try another distro, I higly recomend Fedora, and I’ve been recomended to use Linux Mint as well, but never got to experience it, there you have another alternative.
Assuming most of the slowness comes from the Windows Filesystem, I wonder if there is someway to run Meteor in a mounted container of some sort - is Fuse available on Windows? Running a whole VM seems like overkill for such a basic problem (though it works, and is what I’ll do for the short term), although…
If it’s not simply a filesystem slowness problem (the very long delay after “refreshing client” would suggest it’s something more, I think), then MDG should consider pulling the Windows version - it’s THAT slow (90+ seconds vs. under 10 seconds). The performance gap is enough that requiring a VM to develop on Windows is a reasonable hoop to ask Windows folks to jump through. I’m not sure which would be time better spent - working out an official Meteor on Linux VM or getting it to not be so slow on Windows.
So what I’m doing now is running an ssh connection to the Linux server, and running Meteor there. This let’s me run meteor from inside VS Code as I’m used to doing - it’s almost like running it on Windows!
But sometimes the connection resets, and when I reconnect over SSH, the meteor instance I was running is still running, but I can’t see the output. How can I reconnect to that running instance to see the output?