每次使用phpstorm上传代码后,宝塔的CPU占用就达到了100,有没有解决方案。
使用phpstorm 的remote host 绑定服务器后,上传的代码,每次上传完,宝塔显示的CPU就爆满了,不知道哪里配置有问题,有没有大佬可以解决。 如下截图是宝塔的CPU显示。
新增查看进程占用比
开了debug模式导致文件更新会自动重启吧
你说的是要把config/app.php的debug关掉吗
我不道啊,他这一点相关信息都没有,我只是推测,CPU突然飙高一般就是重启才会产生,大概率是Monitor监控到修改而重启呗
app.php 配置的 debug 是true ,正常 使用命令 reload 不会爆满100 。上传后 看到是webman.log 是有新增 reloading . 就会php 异常爆满 。
给个status命令的截图吧
先给原进程杀了再传吧。
项目运行着的,不能干掉呀,
服务器上执行下面命令
top
能看到进程占用的cpu情况,然后phpstorm上传代码,看下是什么进程导致cpu高。然后就方便定位了。
宝塔标注的是,php 爆满飚高 。但是一下子又会平缓下来了。
应该是phpstorm一个一个文件上传的过程中,monitor 进程检测到文件有更新,不断的reload进程导致的。 设置线上 config/process.php 里 monitor.constructor.options.enable_file_monitor 设置为false就好了。 或者不使用宝塔的守护进程,启动的时候加 -d 会自动关闭文件更新检测
config/process.php
monitor.constructor.options.enable_file_monitor
-d
服务启动执行的是 php start.php -d ; option 设置的内容是这样子; 'options' => [ 'enable_file_monitor' => !Worker::$daemonize && DIRECTORY_SEPARATOR === '/', 'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', ], ;如果设置false了,那上传的代码是不是不能立即生效?
不能立即生效,需要手动执行 reload
return [ // File update detection and automatic reload 'monitor' => [ 'handler' => process\Monitor::class, 'reloadable' => false, 'constructor' => [ // Monitor these directories 'monitor_dir' => [ app_path(), config_path(), base_path() . '/process', base_path() . '/support', base_path() . '/resource', base_path() . '/.env', ], // Files with these suffixes will be monitored 'monitor_extensions' => [ 'php', 'html', 'htm', 'env' ] ] ] ];
老大,为什么我的 config/process.php里面没有monitor.constructor.options.enable_file_monitor选项呢?
新版本 composer create-project 时会有这个选项,老版本没有
开了debug模式导致文件更新会自动重启吧
你说的是要把config/app.php的debug关掉吗
我不道啊,他这一点相关信息都没有,我只是推测,CPU突然飙高一般就是重启才会产生,大概率是Monitor监控到修改而重启呗
app.php 配置的 debug 是true ,正常 使用命令 reload 不会爆满100 。上传后 看到是webman.log 是有新增 reloading . 就会php 异常爆满 。
给个status命令的截图吧
先给原进程杀了再传吧。
项目运行着的,不能干掉呀,
服务器上执行下面命令
能看到进程占用的cpu情况,然后phpstorm上传代码,看下是什么进程导致cpu高。然后就方便定位了。
宝塔标注的是,php 爆满飚高 。但是一下子又会平缓下来了。
应该是phpstorm一个一个文件上传的过程中,monitor 进程检测到文件有更新,不断的reload进程导致的。
设置线上
config/process.php
里monitor.constructor.options.enable_file_monitor
设置为false就好了。或者不使用宝塔的守护进程,启动的时候加
-d
会自动关闭文件更新检测服务启动执行的是 php start.php -d ; option 设置的内容是这样子;
'options' => [
'enable_file_monitor' => !Worker::$daemonize && DIRECTORY_SEPARATOR === '/',
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',
],
;如果设置false了,那上传的代码是不是不能立即生效?
不能立即生效,需要手动执行 reload
老大,为什么我的
config/process.php
里面没有monitor.constructor.options.enable_file_monitor
选项呢?新版本 composer create-project 时会有这个选项,老版本没有