Why did php get stuck after adding usleep (500000) to the two-minute dead cycle?

I do a two-minute dead cycle (I will jump out in more than two minutes) and add usleep (500000) to the loop; after that, I will get stuck, and the slow log will be recorded; after I get rid of it, I will be fine. Do you want to know why?

this is a slow log

[0x00007f9cd9296868] usleep() /aa/www/Application/Home/Controller/AaController.class.php:174
[0x00007ffd08484540] checkse() unknown:0
[0x00007f9cd9295960] invoke() /aa/www/ThinkPHP/Library/Think/App.class.php:172
[0x00007f9cd9294e18] invokeAction() /aa/www/ThinkPHP/Library/Think/App.class.php:109
[0x00007f9cd9294c40] exec() /aa/www/ThinkPHP/Library/Think/App.class.php:203
[0x00007f9cd9293438] run() /aa/www/ThinkPHP/Library/Think/Think.class.php:120
[0x00007f9cd9291d50] start() /aa/www/ThinkPHP/ThinkPHP.php:97
[0x00007f9cd9291c00] PP+ dump failed

this is the code

 $while = true;
        while ($while) {
        //  $while=false;
           // usleep(500000);
        }
Jul.22,2021
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1eae5f8-21c4.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1eae5f8-21c4.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?