Time Nick Message 00:01 tumeninodes rubenwardy: Not sure if I should try those updates again? They're still just sitting there with a status of "importing" 0_o 00:05 rubenwardy they would have failed, you need to do again 00:05 rubenwardy the job would have been lost 00:05 tumeninodes ok, just checking. Thank you 11:01 CWz what does SpatialIndex do? 11:09 sfan5 make AreaStore() faster 12:29 jas_ !mod 12:29 MinetestBot jas_: alphamg by Joz - https://forum.minetest.net/viewtopic.php?t=13074 12:29 jas_ what the fuck is that? 12:30 jas_ oh sorry, read it as alp hamg. pretty cool lookin' 12:34 jas_ huh, the readme.md has lots of info and there's a gallery with a bunch of screenshots. too bad that wasn't added to the thread. neat 15:11 rubenwardy Does anyone know how to work out the bottlenecks when running Minetest servers? 15:14 rubenwardy Doesn't look like CPU is a problem https://rwdy.uk/qJHNi.png 15:14 rubenwardy I expect it's HDD or network, most likely the former 15:15 sfan5 generally: if the process is often stuck in disk sleep then it's the storage; if it's using 100% CPU then it could go faster with a better CPU 15:16 sfan5 if you see your network interface maxed out it's (obviously) the network 15:16 rubenwardy ok 15:16 rubenwardy is there a way to see why a thread is sleeping over time? Like: % disk sleep 15:17 rubenwardy 300K/s is used, not that much 15:17 rubenwardy +B 15:18 VanessaE don't forget luajit, and minimize disk access with things like leveldb for the map, or sqlite for the player files, or memory-caching anything outside MT that writes to disk a lot but doesn't need to (like rrdtool's databases) 15:18 rubenwardy I use LuaJIT 15:18 rubenwardy maybe leveldb would help 15:18 sfan5 watch -n1 'grep ^State /proc/$(pgrep minetestserver)/task/*/status' 15:18 sfan5 quick solution for what you asked for 15:20 sfan5 or system-wide: run `vmstat 1` and watch the "wa" column 15:21 rubenwardy the output of task status shows one thread alternating between sleeping and running, and the rest sleeping 15:21 rubenwardy I guess the rest will be emerge threads 15:21 rubenwardy CTF doesn't have much mapgen 15:23 rubenwardy I need to put some effort into learning this stuff 15:23 sfan5 the most likely bottleneck I can think of for your ctf server is lua exection (globalstep/abm mainly) 15:24 sfan5 unless your disk is so slow that it can't handle writing a few blocks every 10(?) seconds 15:24 rubenwardy is Lua execution limited other than by CPU? 15:24 ANAND CTF doesn't have any ABMs 15:24 rubenwardy would a process that is constantly cache missing get 100% cpu? 15:25 ANAND At least not intensive ones 15:25 rubenwardy I've noticed there's a freeze when someone captures a flag 15:25 rubenwardy also, my survival server has worse problems 15:25 rubenwardy massive freezes 15:25 rubenwardy I'll run the Lua profiler on it, see if it's pipeworks or mesecons 15:26 sfan5 1) No 2) I wouldn't worry about cache misses 15:26 rubenwardy https://rwdy.uk/tc0OH.png 15:26 rubenwardy it's gonna be HDD 15:26 rubenwardy that's a lot 15:26 ANAND 99.23% 15:26 ANAND Is that the problem? 15:26 rubenwardy 3MB per second with a write size of 16 bytes 15:26 rubenwardy it's probably the logs, maybe 15:27 sfan5 linux does write caching afaik and any HDD should be able to handle 3 MB/s 15:27 rubenwardy also, I noticed the other day that systemd duplicates my MT server logs 15:27 ANAND For your survival server, there's also map saving 15:28 ANAND Re: freezes upon flag capture, the ctf state is reset at the end of every match 15:28 rubenwardy my friend suggests that logs should be buffered before flushing them 15:28 ANAND Could that be an issue? 15:28 rubenwardy on flag pick up 15:28 rubenwardy not just capture 15:28 ANAND Hmm 15:29 rubenwardy please may someone join my survival server and idle? 15:29 rubenwardy I'm using mobile data currently 15:30 sfan5 look at your htop screenshot I'd do one thing first: disable swap 15:30 sfan5 or if you want to keep it enabled set swappiness so low that it doesn't swap anything during normal operation 15:30 sfan5 and the other thing is press F2, go to columns and pull in IO_READ_RATE and IO_WRITE_RATE 15:30 rubenwardy done 15:31 sfan5 to see which processes do the most I/O 15:31 rubenwardy ahhh 15:31 rubenwardy I was trying to figure out how to iotop 15:31 rubenwardy htop is really nice 15:31 rubenwardy swapoff is taking ages 15:32 sfan5 it shouldn't take ages to read 190MB from disk back into RAM 15:32 sfan5 though swapoff can sometimes act stupidly 15:32 rubenwardy it's been a minute so far 15:33 rubenwardy and done 15:34 rubenwardy argh, why does the terminal emulator capture key presses 15:35 rubenwardy journald is writing almost a mb per second 15:35 rubenwardy I should disable systemd from capturing logs from minetest - as I run them as services 15:36 rubenwardy also, how do I disable sendmail? 15:36 sofar why do you log that much? lol 15:36 sfan5 systemctl disable --now sendmail 15:36 sofar I have mine log to journal and it never caused an issue 15:36 rubenwardy ah, it's a server 15:37 rubenwardy I should probably follow the journel to see why it's logging so much 15:37 rubenwardy and maybe consider only logging to journal 15:37 rubenwardy because I also use MT's logging 15:38 rubenwardy huh, it's not writing so much now 15:38 sofar I generally just prefer it in the journal, easy to see system coherence for one 15:38 rubenwardy I find reading the MT logs a pain in the ass 15:38 rubenwardy with my current system 15:41 sfan5 how much is "not so much" 15:41 sfan5 check iostat 15:41 rubenwardy journeld is now writing 80KB 15:42 rubenwardy https://rwdy.uk/ZP7qk.png 15:42 rubenwardy maybe sendmail was spamming it? 15:42 VanessaE that reminds me, rubenwardy: mount with noatime 15:42 rubenwardy basically, I had scripts which were attempting to use sendmail 15:42 VanessaE that'll cut down a tad on disk activity alos. 15:42 VanessaE also* 15:42 rubenwardy but long ago I removed the email server from my server 15:42 rubenwardy so there were loads of sendmail processes 15:45 rubenwardy the first entry is the same, I guess loading iostat messes it up 15:47 rubenwardy I think it's worth disabling MT's logging, and instead using journalctl 15:48 rubenwardy It could also be good to have tiered logging, I guess 15:49 rubenwardy make it so it only logs moderator actions and chat 15:49 rubenwardy permanently, that is 15:49 sfan5 you dont need logs of people punching eachother 15:49 sfan5 you dont need logs of dug, placed or clicked nodes 15:49 rubenwardy exactly 15:50 rubenwardy having the last hour's logs is good for crashes 15:50 rubenwardy but beyond that you only need chat commands, chat, and PMs 15:57 rubenwardy MT's disk usage is much lower without logging 15:57 rubenwardy is MT logging async 15:58 rubenwardy it must be async because it's multithreaded, but is it async from the main thread? 15:58 rubenwardy *thread-safe 15:58 rubenwardy argh, terminology 16:00 sfan5 https://github.com/minetest/minetest/blob/master/src/log.h#L172 16:00 sfan5 data it put into the stream, the stdlib decides when to flush stuff 16:01 sfan5 though chances are it will flush on every line written 16:03 rubenwardy argh, CLion sucks 16:20 sofar rubenwardy: so you're saying it's more efficient to log to the journal? heh 16:20 rubenwardy it's more efficient to only log once 16:20 sofar sure 16:20 rubenwardy and I expect that MT logging to the std::cerr is faster than MT logging to a file itself 16:20 sofar but if debug.log is fflush()ed every line 17:00 rubenwardy Thanks for the assistence, my server is running much better 17:00 rubenwardy cross fingers 17:00 rubenwardy I was too quick to blame kimsufi 17:13 VanessaE not really 17:13 VanessaE KS's servers do kinda suck, like I said. 17:13 sfan5 don't they have SSD servers? 17:13 VanessaE I don't recall. 17:14 VanessaE but f.ex: my mapper script took something like 5 hours to run on the server I had there. on the one I have now, 40ish mins. 17:15 VanessaE I can only blame it not on the fact that the box I had then was spinning rust, but that they were especially slow disks for that tech 17:17 VanessaE actually more like 20 mins, not 40. 18:06 sfan5 today in minetest_game/farming: "Wet Dry Soil" 18:06 sfan5 Schrödinger's soil 18:07 rubenwardy lol what 18:13 Krock LGTM