A DELL R730XD server with 32GiB * 8, totaling 256GB of memory, is correctly recognized as 256GB in the BIOS. When checking the memory information using "dmidecode -t memory" in Linux, the total of 256GB is also reported correctly. However, the "free -h" command consistently shows a total of 251GB on both CentOS and Arch Linux. same for "htop" command. Why?

Some told me that's cause the different between GB and GiB, It's wrong, 256GB != 251GiB.
there some information about:

