……
增加PHP线程数量后mysql经常自动关闭进程
因为以前生产环境的时候都是自己搭的环境自己配置,现在这个服务器随便玩玩就用的lnmp啥的,一直觉得有点小卡,前两天我检查了一下,发现php-fpm.conf的设置里面,pm.max_children的设置才5,平时只有1-2个线程,所以我直接按照网上的方法按照内存大小和PHP进程平均占用大小改了一下线程数量,立马变得飞快,然后这两天发现网站老是提示连接不到数据库,进去查了一下,mysql没有在运行,是有个报错,InnoDB: Error: pthread_create returned 11,百度的结果是ulimit -s unlimited,然后试了一下,并没有什么卵用。top命令看了下,内存可用少的可怜,我盲猜是内存用完了,linux不怎么熟悉,不知道内存机制啥样,有没有虚拟内存啥的,反正无脑改回去PHP的参数试试再说,结果问题解决。但PHP的线程数比之前还是加到了5-10,网站速度还是快了一点的。
2021年8月29日:后面还是出现了一次进程关闭,日志显示好像是因为mysql搞什么压缩搞爆了内存,然后我就开了swap文件,一劳永逸。PHP参数还是最后的5-10设置。
利用串口DSR/CTS等端口获取市电状态并实现断电自动关机的C#程序
我有一个UPS,自带的关机软件有点问题,后台有javaw.exe占满一个CPU核心。本来我也懒得弄,这个自带的软件是用网页上的flash作为设置界面,最近不是flash用不了了吗,然后我也懒得再找办法继续运行这个flash,而且它还有占用CPU这个问题,所以就有想法弄一个自动关机的玩意。原计划是用单片机检测的,但是想想看串口那几个没多大用的端口,正好可以用来检测电平,也不知道有没有人像我这么干的,反正能用就好。下面两个是Program.cs和Form1.cs的代码:
阅读更多PHP获取动态IP并记录到文件(改进版)
前面的部分参见PHP获取动态IP并记录到文件 | arya142!
最近公司换了个千兆路由器,闲着蛋疼把公司的动态IP也弄上去了。本来复制粘贴一下弄好了,又觉得不想记网址,所以想整到一个文件里。之前的一些小问题也改了改。文件中记录条目的顺序啥的懒得弄。
2021年8月13日二改:发现不知道哪里有问题会导致数据错误,虽然只出现过一次,但还是改了一下结构,顺便加了一些代码。
传入url形式: https://www.***.com/test.php?ddnsurl=****.gicp.net&ddnsip=111.111.111.111
代码如下:
阅读更多最近学会了修电瓶车
前段时间买了辆战速9拉3,买来电路全是坏的。然后我花了不少时间,把基本上所有的坏的地方都修好了,包括电路、刹车。我丈人的小电驴,也给改了一个汽车大透镜上去。因为最近好像改装电动车在严打,所以我把车卖了,亏了百来块钱。
最近迷上了修电器
家里能修的都修完了,什么电视机,热水壶,充电器,孩子的玩具。还在闲鱼买了两堆坏的开关电源来修过瘾。最近还做了个小夜灯,还有超声波驱鼠器,煤气报警器啥的。
新买的烙铁头才没几天,刀头变成马蹄了
前几天买了个纯铜的小刀头,如题,还是老老实实用长寿头吧。据说松香味啊铅雾啊对身体有害,吓得我不禁多吸了两口,真香
stm32 f103用TM1637驱动数码管
其中读键部分,无符号变量参与右移运算,然后把无符号返回成有符号变量。因为是改的TM1638的程序,不知道为毛他这么搞,所以把类型改成有符号的了,结果出错。搞了半天才搞明白:有符号变量右移的时候,如果是正数左边填0,如果是负数,左边填1。这是基础的东西,结果搞了半天。接下来还得复习一下C语言了。
接线啥的参考手册。TM1637和TM1638不一样,TM1638驱动共阴数码管比较方便,TM1637驱动共阳数码管比较方便。另外TM1637供电电压是5V,高电平低值为0.7VDD,也就是3.5V,而我这个f103是3.3V的,但是很多端口都耐受5V,所以找了一个可以耐受5V的端口,用开漏输出,上拉10k电阻,顺便还可以直接读键。另外那个数码管的时钟点,真的是麻烦,TM1637的SG口只有8个,偏偏这两个时钟点的阳极是连在公共点上的,所以只好再浪费一或二个单片机IO口了。时钟点部分没有写,反正也简单的。下面是TM1637.c的内容。很简略,下次用得上的时候再说。
阅读更多stm32 PWM调节有延迟
今天遇到一个问题,PWM输出时,如果使能exti外部中断,PWM空占比的调节有延迟。刚发现问题时表现为呼吸灯乱跳,psc的值0还好,但也肉眼可见,设置个二三十就延迟严重,阶梯性的跳亮度。设置一千多就完全找不到亮度变化的规律了。原本以为逻辑上搞错了,检查了一下发现没问题,然后看初始化部分,对照教程来看也没啥问题。然后翻出400多大洋的F407,例程是没问题的,我这个就有问题。因为就是瞎搞,所以我的test project里面是include了一大堆,然后把所有的多余部分都注释掉,发现也能正确运行。然后就一个个试,发现是exti的问题。把中断处理函数的内容都清空,只剩一条清除挂起位,也还是不行。然后我就加了个串口调试,发现psc的值变化是正常的。本来么,换一个端口就没问题了,不过问题还是没有解决,心里实在是痒的慌,到这里碰到瓶颈了,换了一个端口TIM4的,发现问题没有出现。又去查资料,发现 TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); 这条,Enable是要等到下个周期才会变化,Disable就会立即变化。之前问题算是解决了。不过问题又来了,为毛设置为Enable的时候,不使能exti就没问题,使能了就有问题?!不过这个问题先留着下次再研究吧。等看到一定程度回来可能会比较好。现在这一块对我来说有点深入了。
PHP获取动态IP并记录到文件
花生壳的DDNS虽然稳定性比以前好了很多,不过总是在重要时刻抽风,需要用到的时候就是连不上。所以一直想换一个DDNS但找不到稳定又免费的。正好有一台vps,所以想先凑合一下搞一个显示当前动态IP的东西。接下来准备研究一下namesilo的API。家里用的是ROS,GET方式的参数传递还是可以用的,据说新版可以用POST。VPS是外国的,装了PHP,所以就写了一个PHP页面,把动态IP数据写入到一个htm文件中(PHP是完全不会的,只会找PHP手册一个一个抄)。访问这个php文件,就可以把内容写到test.htm中。如
http://xxx.xxx.xxx/test.php?ipaddr1=192.168.1.1
代码如下:
阅读更多