V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
crossoverJie
V2EX  ›  程序员

没错,老板让我写个 BUG!

  •  
  •   crossoverJie ·
    crossoverJie · 2018-12-12 08:42:05 +08:00 · 13001 次点击
    这是一个创建于 2159 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没错,老板让我写个 BUG !

    强行写 BUG 也没有那么容易🤣

    67 条回复    2018-12-13 03:43:28 +08:00
    zlhsvc
        1
    zlhsvc  
       2018-12-12 08:48:28 +08:00
    写个随机的死循环
    miniliuke
        2
    miniliuke  
       2018-12-12 08:48:44 +08:00 via Android
    os.Exit(1)😂
    Mac
        3
    Mac  
       2018-12-12 08:56:31 +08:00
    print "LBRWXGBUG,TSSB!";
    crossoverJie
        4
    crossoverJie  
    OP
       2018-12-12 08:56:38 +08:00
    @zlhsvc #1 得悠着点 在可控范围 不能把服务器搞死了。
    wanhuiming
        5
    wanhuiming  
       2018-12-12 08:56:45 +08:00   ❤️ 10
    看破不说破,你就是想推广博客
    pkookp8
        6
    pkookp8  
       2018-12-12 09:02:36 +08:00 via Android
    不懂 java,是我就写个死循环,读 /dev/null,控制读取量和循环的 sleep 的时间,读取量控制内存,时间控制 cpu 使用量,剩下的就是调参了
    pkookp8
        7
    pkookp8  
       2018-12-12 09:03:30 +08:00 via Android
    @pkookp8 错了, /dev/zero
    AllOfMe
        8
    AllOfMe  
       2018-12-12 09:05:21 +08:00 via Android   ❤️ 9
    Thread.sleep(3000)
    //产品经理让这里卡一点,让客户后期给钱优化
    nathan2018
        9
    nathan2018  
       2018-12-12 09:09:40 +08:00
    随便整,再弄个定时,一阵一阵的。
    huixia0010
        10
    huixia0010  
       2018-12-12 09:14:37 +08:00
    cool~~~
    abccccabc
        11
    abccccabc  
       2018-12-12 09:15:19 +08:00
    假装来个变量大小写或者字母顺序错乱就行了。肉眼不容易看出来
    arzterk
        12
    arzterk  
       2018-12-12 09:24:05 +08:00
    弄个多线程的啊,随机死锁,不过也会坑自己
    linzhang
        13
    linzhang  
       2018-12-12 09:30:17 +08:00
    这不是常规操作嘛。以前做系统集成,特别是涉及一些平台或者 OA 开发的,都会给客户留点需求、留点 bug,不然后续每年怎么来的维保、二次开发的服务机会。。。
    cccy0
        14
    cccy0  
       2018-12-12 09:31:09 +08:00
    1/0
    knightdf
        15
    knightdf  
       2018-12-12 09:31:33 +08:00
    把一个变量改成全局的
    BeFun
        16
    BeFun  
       2018-12-12 09:32:26 +08:00
    java 吗?空指针最容易
    Famio
        17
    Famio  
       2018-12-12 09:34:16 +08:00   ❤️ 2
    博客写得不错,我全文读完了,如果可以的话,建议优化下标题,我想分享给朋友的时候无法第一时间表明我分享的是什么
    Tengdw
        18
    Tengdw  
       2018-12-12 09:35:11 +08:00
    Jie 哥牛逼
    windyCity
        19
    windyCity  
       2018-12-12 09:35:48 +08:00
    他博客里面已经写出解决方案了,此贴终结,楼主也达到了推广博客的目的
    nestorm001
        20
    nestorm001  
       2018-12-12 09:40:15 +08:00
    memory 都拼错了,差评
    mumuxiaoqiang
        21
    mumuxiaoqiang  
       2018-12-12 09:45:03 +08:00
    大佬,请收下我的膝盖骨
    crossoverJie
        22
    crossoverJie  
    OP
       2018-12-12 09:51:10 +08:00
    @wanhuiming #5
    @windyCity #19

    推广是一方面,写东西自嗨也没啥意思。
    crossoverJie
        23
    crossoverJie  
    OP
       2018-12-12 09:52:36 +08:00
    @Famio #17 不好意思 标题确实是拍大腿想的。
    demimule
        24
    demimule  
       2018-12-12 09:53:17 +08:00
    要不写个挖矿模块😂😂😂
    bpllzbh
        25
    bpllzbh  
       2018-12-12 10:01:39 +08:00
    int('a')
    xenme
        27
    xenme  
       2018-12-12 10:22:35 +08:00 via iPhone
    为啥要研究这些,就我不懂的人来写不是写个功能直接分配内存然后填满东西不释放不就可以了。
    nvksie
        28
    nvksie  
       2018-12-12 10:32:27 +08:00
    你是百度的吗
    crossoverJie
        29
    crossoverJie  
    OP
       2018-12-12 10:37:55 +08:00
    @xenme #27

    写个功能直接分配内存然后填满东西不释放不就可以了。

    不了解这些如何保证写个功能可以不释放呢?
    nvksie
        30
    nvksie  
       2018-12-12 10:43:44 +08:00
    @crossoverJie 赋值给静态变量不就行了?
    crossoverJie
        31
    crossoverJie  
    OP
       2018-12-12 10:44:55 +08:00
    @nvksie #28 你是魔鬼嘛
    crossoverJie
        32
    crossoverJie  
    OP
       2018-12-12 10:45:22 +08:00
    @nvksie #30 要造成正常使用的假象
    admol
        33
    admol  
       2018-12-12 10:53:48 +08:00   ❤️ 1
    除了标题 我觉得写的挺好的啊
    xenme
        34
    xenme  
       2018-12-12 10:55:06 +08:00 via iPhone
    @crossoverJie 正常使用的内存还会被 GC ?
    Ramesses
        35
    Ramesses  
       2018-12-12 10:55:33 +08:00   ❤️ 1
    看到头像就觉得很熟悉,直觉就是 JCSprout 的作者,没想到还真是
    Variazioni
        36
    Variazioni  
       2018-12-12 11:00:59 +08:00
    @flybird #26 这个项目又重新上线了啊。。哈哈。。
    crossoverJie
        37
    crossoverJie  
    OP
       2018-12-12 11:09:08 +08:00
    @xenme #34

    > 正常使用的内存还会被 GC ?

    可达的对象才不会被 GC,和正不正常没关系啊;再说哪种是正常,哪种又是不正常?
    www5070504
        38
    www5070504  
       2018-12-12 11:23:21 +08:00
    循环打开文件不释放 或者疯狂写入耗尽 buffer 再不然就自己手动写两个正常情况下也会抛出的异常。。。
    suisuipingan
        39
    suisuipingan  
       2018-12-12 11:27:55 +08:00
    print 出现一个 bug
    yongzhong
        40
    yongzhong  
       2018-12-12 11:32:14 +08:00
    我猜是运维看你们使用率太低让你们减配但是又不愿意所以出此对策
    crossoverJie
        41
    crossoverJie  
    OP
       2018-12-12 11:33:44 +08:00
    @www5070504 #38

    嗯 要完成这个需求的话方法还是很多的。
    crossoverJie
        42
    crossoverJie  
    OP
       2018-12-12 11:34:45 +08:00
    @yongzhong #40

    兄弟 你知道的太多了
    xenme
        43
    xenme  
       2018-12-12 11:36:10 +08:00 via iPhone
    @crossoverJie

    所以就是正常开个线程,分配完内存,线程开始等待一个信号,不就结束了?这不就是个再正常不过的行为么?

    并不需要了解什么可达不可达,GC 行为啥的。
    Zzdex
        44
    Zzdex  
       2018-12-12 11:36:49 +08:00 via iPhone
    写得不错 学习了,但是出于占内存的目的 完全可以使用其他办法
    LichMscy
        45
    LichMscy  
       2018-12-12 11:38:15 +08:00
    @flybird #26 这个是啥 github 的一个 bug 吗
    zhaogaz
        46
    zhaogaz  
       2018-12-12 11:41:17 +08:00
    喷了,怀疑和楼主差不多,我们这边也有这事,说是上面审查,有要求(就是你说的背景就不说了)
    MrUser
        47
    MrUser  
       2018-12-12 11:42:47 +08:00
    前端把 onready 换成 setTimeout
    删掉数据库中除 ID 外的索引( ID 也删除会引起注意)
    业务逻辑只处理正常情况,异常情况一律不管
    让不常用的功能不能运行(增删标点符号即可)
    还有么?
    crossoverJie
        48
    crossoverJie  
    OP
       2018-12-12 11:46:21 +08:00
    @Zzdex #44 本来是想让运维搞的 他们没时间就只有开发搞了。
    disagree
        49
    disagree  
       2018-12-12 11:49:33 +08:00
    请问这个观察内存和 cpu 曲线的软件是什么
    crossoverJie
        50
    crossoverJie  
    OP
       2018-12-12 11:50:11 +08:00
    @xenme #43

    我想要的结果是新生代和老年代的内存尽量都占用到百分之八九十,只有可以保证不发生 GC 的同时内存占有率比较高。

    不然我初始化了 4G 的内存,却只使用了几百兆那就没啥意义了。

    所以才需要了解这些。
    crossoverJie
        51
    crossoverJie  
    OP
       2018-12-12 11:57:18 +08:00   ❤️ 1
    @disagree #49

    VisualVM
    xenme
        52
    xenme  
       2018-12-12 12:00:04 +08:00 via iPhone
    @crossoverJie 你要的不是增加内存和 CPU 使用量么。

    直接开个线程占完内存,然后做点无用功,消耗一定量的 CPU 就完事。

    还是没明白为啥要去折腾新生代和老年代内存,感觉是你有点复杂化了,虽然学习到了点新知识。
    crossoverJie
        53
    crossoverJie  
    OP
       2018-12-12 12:08:04 +08:00
    @xenme #52

    可以是可以。

    直接来说就是我分配了 4G 内存给这个应用,在 16G 内存的服务器上我想要尽量占用到 25% 的内存。

    不去考虑这些说不定只能使用 5% 的内存。
    wdv2ly
        54
    wdv2ly  
       2018-12-12 12:13:33 +08:00   ❤️ 1
    牛逼,洋洋洒洒几千字解释了托管内存回收是通过 GC 进行的道理~
    shpdnx
        55
    shpdnx  
       2018-12-12 12:39:38 +08:00 via Android
    老板逆向思维? 发散思维?
    crossoverJie
        56
    crossoverJie  
    OP
       2018-12-12 12:49:30 +08:00
    @wdv2ly #54 我当做是表扬了
    @shpdnx #55 老板的心思不要猜
    CallMeReznov
        57
    CallMeReznov  
       2018-12-12 13:01:00 +08:00
    线程随机阻塞.随机阻塞秒数
    OK~ 百分比和性能都可以利用常量控制达到可以"优化的"地步 简直完美好吗
    17chai
        58
    17chai  
       2018-12-12 13:29:48 +08:00
    现在搞博客都想搞个大标题,把流量一收.滑稽脸
    我才不会扫码关注呢
    supuwoerc
        60
    supuwoerc  
       2018-12-12 15:04:35 +08:00
    hexo 牌面 =。=
    KigKrazy
        61
    KigKrazy  
       2018-12-12 15:10:53 +08:00
    直接在哪个地方加个 sleep,非常之机智。
    fx2018
        62
    fx2018  
       2018-12-12 15:46:37 +08:00
    认真写就是了
    fantastM
        63
    fantastM  
       2018-12-12 17:27:49 +08:00
    应用 Full GC 之后,是不是得重新调用接口分配内存?
    crossoverJie
        64
    crossoverJie  
    OP
       2018-12-12 17:31:39 +08:00
    @fantastM #63 是的 所以应该是每天都得调下接口。
    hgc81538
        65
    hgc81538  
       2018-12-12 17:50:58 +08:00
    DB Table id 的 data type 改做 tinyint / smallint.
    limbo0
        66
    limbo0  
       2018-12-13 01:44:10 +08:00 via Android
    标题党,这那事 bug,这是需求好吧
    Allianzcortex
        67
    Allianzcortex  
       2018-12-13 03:43:28 +08:00
    写的挺好的哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2606 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:39 · PVG 09:39 · LAX 17:39 · JFK 20:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.