Overall performance of NAND storage vs. micro SD vs. USB stick ?

  • Hi everyone

    I'm currently using a "good" micro SD card (SanDisk Ultra) in a Mini M8S II.

    Would I see a performance gain, especially loading fanarts, using a faster micro SD card (SanDisk Extreme Pro or Lexar 1800x/1000x) or a fast USB3 stick ?
    Or would it be better to install to NAND ?

    Thanks for any advice :)

    Edited once, last by Fredouye (November 10, 2016 at 3:09 PM).

  • This might not be the best way but you can execute some commands to test read speeds.

    First stop Kodi:
    systemctl stop kodi

    For internal system partition:
    echo 3 > /proc/sys/vm/drop_caches && dd bs=1M count=200 if=/dev/system of=/dev/null

    For SD card you need to identify SD card partition, e.g. using blkid:

    Code
    /dev/loop0: TYPE="squashfs"
    /dev/cache: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
    /dev/system: LABEL="system" UUID="da594c53-9beb-f85c-85c5-cedf76546f7a" TYPE="ext4"
    /dev/data: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
    /dev/mmcblk1p1: SEC_TYPE="msdos" LABEL="LIBREELEC" UUID="0E55-5E22" TYPE="vfat" PARTUUID="9c56c43b-01"
    /dev/mmcblk1p2: LABEL="LIBREELEC_DISK" UUID="4407bf73-4567-42de-ae29-c962cf013f98" TYPE="ext4" PARTUUID="9c56c43b-02"
    /dev/mmcblk1: PTUUID="9c56c43b" PTTYPE="dos"

    Above you can see that LIBREELEC_DISK (or DISK if you run 7.0) is /dev/mmcblk1p2. In that case run:
    echo 3 > /proc/sys/vm/drop_caches && dd bs=1M count=200 if=/dev/mmcblk1p2 of=/dev/null

    If your card is very slow, it may take a long time to execute.

  • I didn't understand the half of it so i went and installed latest 009 to internal on Minix U1....WOW, really faster now. Boot's up 3 times faster and in menu work is smooth fluid. Even my wife noticed [emoji1]

    sent from my G2

    Edited once, last by 9800pro (November 10, 2016 at 10:17 PM).

  • I installed to NAND too, couldn't wait for the weed-end :D

    I didn't want to start from scratch, so I copied (with Kodi stopped) the .kodi directory (and a few files from .config).

  • I'm confused on how the tmp folder is mounted.

    Code
    LibreELEC:/tmp # losetup
    NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
    /dev/loop0         0      0         0  1 /flash/SYSTEM
    
    
    LibreELEC:/tmp # mount 
    /dev/mmcblk1p1 on /flash type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
    /dev/loop0 on / type squashfs (ro,relatime)
    tmpfs on /tmp type tmpfs (rw)

    I don't know how read this results...
    So the /tmp folder is mounted over the sd SYSTEM partition?
    It's possible to use the NAND for mount the /tmp? there are the tmp files stored on Android?

    Edited once, last by CGarces (November 10, 2016 at 11:34 PM).


  • I'm confused on how the tmp folder is mounted.

    Code
    LibreELEC:/tmp # losetup
    NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
    /dev/loop0         0      0         0  1 /flash/SYSTEM
    
    
    LibreELEC:/tmp # mount 
    /dev/mmcblk1p1 on /flash type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
    /dev/loop0 on / type squashfs (ro,relatime)
    tmpfs on /tmp type tmpfs (rw)

    I don't know how read this results...
    So the /tmp folder is mounted over the sd SYSTEM partition?
    It's possible to use the NAND for mount the /tmp? there are the tmp files stored on Android?

    /tmp is mounted via tmpfs, so it is in memory. It is probably faster than nand however it is volitile.


  • /tmp is mounted via tmpfs, so it is in memory. It is probably faster than nand however it is volitile.


    Ahh, ok I got it
    /tmp is mounted at using/usr/lib/systemd/system/tmp.mount

    But how the tmpfs unit is created?, I see that has 411.5M but I can't find where that space is assigned.
    Ok the size is 50% of my total memory by default, but do not consume any memory if not is needed.

    Edited once, last by CGarces (November 11, 2016 at 8:29 AM).


  • I installed to NAND too, couldn't wait for the weed-end :D

    I didn't want to start from scratch, so I copied (with Kodi stopped) the .kodi directory (and a few files from .config).

    So if I understand correctly, installtointernal makes an installation of a bare system without kodi library and settings?
    What files/folders need to be copied to make a full copy of the current SD install?
    I think it would be useful to make something like installtointernalFULL to just drop everything to NAND.

  • So if I understand correctly, installtointernal makes an installation of a bare system without kodi library and settings?
    What files/folders need to be copied to make a full copy of the current SD install?
    I think it would be useful to make something like installtointernalFULL to just drop everything to NAND.

    In the LibreELEC settings create a system backup which will backup everything. Use the installtointernal command then go back into libreelec settings and restore from back.

    Everything will be excatly the same.

  • In the LibreELEC settings create a system backup which will backup everything. Use the installtointernal command then go back into libreelec settings and restore from back.

    Everything will be excatly the same.

    Or, after first boot :

    # systemctl stop kodi
    # mv /storage/.kodi /storage/.kodi.bak
    # cp -r /var/media/DISK/.kodi /storage
    # systemctl start kodi


  • I will add an option to copy your setting to internal to the script.

    Is this option available now?

    Also, one bit of confusion. After nand install, is it still possible to boot from SD for testing future versions in the same manner? Does installtointernal still work the same way in this case?