Frank Durda has written at length about the kluge that was Xenix/286. Xenix/68K, as used on the Lisa and the Tandy 6000, was quite a bit more efficient. The archives of comp.sys.tandy should be consulted......
MP/M worked ok, and there were other good systems for 8bitters that weren't Unix or Unix like, but the smallest efficient Unixlike OSes are possibly best exemplified by Coherent.
I never ran Cromix or Micronix (or for that matter MP/M) so I can't comment on their speed, but I can comment that Xenix/68K on the Tandy 6000 was fairly responsive and had good multiuser performance for the day. But that wasn't an 8-bit OS, either, but 32-bit (while one may argue that the 68000 and 68010 were 16-bit by virtue of the size of the data bus, the OS bittedness is a completely different matter, as the registers and opcodes are 32-bit and in principle the same code could run on the definitely 32-bit 68030).
Of the modern 8 bit CPU's, an ATMega2560 or similar (the ATmega128 especially) should be able to have enough RAM to run a real Unix, at least something in the Seventh Edition (V7) timeframe, or 2.11BSD maybe. SVR4 not likely, but the Seventh Edition is just as much real Unix as SVR4 is. But FreeRTOS or even the Ethernut's NUT/OS is a better choice (NUT/OS runs on ATmega128 AVR hardware).
EDIT: Also there was UZI, UZI180, UZI280, and UZIX for the MSX, all Z80-based. And I mis-stated above that Micronix was able to run the Bourne shell; it was UZIX 2.0 that did that, sorry.
Further EDIT: Apparently all the UZIX and UZI versions have been fused together as 'FUZIX' and it is available at
https://github.com/EtchedPixels/FUZIX and it apparently has gone past V7 features into SysIII and SysV territory.