(_____(_____________(#)~~~~~~

  • 0 Posts
  • 3 Comments
Joined 3 years ago
cake
Cake day: April 11th, 2022

help-circle
  • This reads like it was written by some LLM.

    Enable journaling only if needed:
    tune2fs -O has_journal /dev/sdX

    Don’t ever disable journaling if you value your data.

    Disk Scheduler Optimization
    Change the I/O scheduler for SSDs:
    echo noop > /sys/block/sda/queue/scheduler
    For HDDs:
    echo cfq > /sys/block/sda/queue/scheduler

    Neither of these schedulers exist anymore unless you’re running a really ancient Kernel. The “modern” equivalents are none and bfq. Also this doesn’t even touch on the many tunables that bfq brings.

    Also changing them like they suggest isn’t permanent. You’re supposed to set them via udev rules or some init script.

    SSD Optimization Enable TRIM:
    fstrim -v /
    Optimize mount settings:
    mount -o discard,defaults /dev/sdX /mnt

    None of this changes any settings like they imply.

    Optimized PostgreSQL shared_buffers and work_mem.
    Switched to SSDs, improving query times by 60%.

    No shit. Who would’ve thought that throwing more/better hardware at stuff will make things faster.

    EDIT: More bullshit that I noticed:

    Use ulimit to prevent resource exhaustion:
    ulimit -n 100000

    Again this doesn’t permanently change the maximum number of open files. This only raises the limit for the user who runs that command. What you’re actually supposed to do is edit /etc/security/limits.conf and then relog the affected user(s) (or reboot) to apply the new limits.

    Use compressed swap with zswap or zram:
    modprobe zram echo 1 > /sys/block/zram0/reset

    This doesn’t even make any sense.



  • Interesting feature, I had no idea. I just verified this with gcc and indeed the return register is always set to 0 before returning unless otherwise specified.

    spoiler
    int main(void)
    {
        int foo = 10;
    }
    

    produces:

    push   %rbp
    mov    %rsp,%rbp
    movl   $0xa,-0x4(%rbp) # Move 10 to stack variable
    mov    $0x0,%eax       # Return 0
    pop    %rbp
    ret
    
    int main(void)
    {
        int foo = 10;
        return foo;
    }
    

    produces:

    push   %rbp
    mov    %rsp,%rbp
    movl   $0xa,-0x4(%rbp) # Move 10 to stack variable
    mov    -0x4(%rbp),%eax # Return foo
    pop    %rbp
    ret